【陪你沉浸式快速上手MySql】

本文介绍了数据库的概念、发展历程,重点讲解了层次模型、网状模型和关系型数据库的特点。此外,还提到了如何选择数据库,以及MySQL的安装、连接和基本操作,包括数据定义语言(DDL)、数据操作语言(DML)和数据控制语言(DCL)的应用。

目录

0. 开场

1. 什么是数据库

1-1 抛出问题,数据库的诞生

1-2 萌芽阶段

1-3 CRUD

2-1 层次模型

2-2 网状模型

2-3 关系型

3. 学习什么数据库呢

1. 安装连接以及配置(这部分一笔带过,建议去看专门讲MySql安装和配置的博客)

1. 安装方式

2. 更改终端

3. 服务的启动和停止

4. 连接mysql

5. 创建data 文件夹

2. 数据库的基本操作

1. 数据库显示和讲解

2. 创建数据库

3. 删除数据库

4. 查看创建数据库的SQL​编辑

5. 创建数据库指定字符编码以及查看数据库的字符编码

6. 修改数据库字符编码

3. 表的基本操作

1. 引入表

2.引用数据库和查看数据库中的表

3. 创建表

5. 查看表的结构

6. 删除表

7. 修改表

4. 数据操作

1. 操作数据

2. 删除数据

3. 更新数据

4. 查询表数据(基本)

5. SQL语句区分


0. 开场

1. 什么是数据库

保存,使用...数据(qq账号密码、银行的钱的数目等等)的仓库

1-1 抛出问题,数据库的诞生

瞬时---》放在内存里,程序结束,第二次运行的时候,上次的数据就没了;

后来:保存在文件里(由原来保存在内存里到保存在硬盘里)

“由瞬时转台---》持久性数据”

1-2 萌芽阶段

文件系统是萌芽阶段的数据库,不管是加密还是不加密,但用文件来保存数据很蠢,来看看后人是怎么解决的

1-3 CRUD

无论什么数据库,上手的第一件事情是看它怎么CRUD(增删改查)。对于新手而言,查找数据是最难的。

2-1 层次模型

查找分类数据的效率低下,不同层出现重复的数据时,难以保证数据的完整性

2-2 网状模型

虽然解决了层级模型没办法保证数据的完整性的问题,但没有解决导航问题,找不到父了(管子的父有共性也有特殊性)

2-3 关系型

把一个公共的字段绑定到所有表中,它和所有表都有关系,但互不影响。通过一个公共的字段管理所有的数据,关系说白了就是共性

表各管各的,互不影响

能找到父了(通过公共的字段)

3. 学习什么数据库呢

这不是学生应该纠结的问题,选择什么数据库是由企业决定的,由业务决定的,我们应该把基础打牢,掌握通用的知识,这样要学其他数据库时上手才快,换成其他的技术点也一样,比如语言(才发现Frank在b站发的解决广大it学子的问题里说过的话早在Mysql付费课里就说过了)

1. 安装连接以及配置(这部分一笔带过,建议去看专门讲MySql安装和配置的博客)

1. 安装方式

605794f9ae7647f09be26cd0f9f5574b.png

2. 更改终端

3. 服务的启动和停止

c3486e18e034478aa7a3389dcdec4923.png

5fad068e34ba44e3a3c2fd303ee43d57.png

Mysql就是典型的C/S架构软件,只不过这个客户端比较low逼,不能用鼠标点,是terminal(终端),在本地用的

client 客户端 通过命令去访问/操作数据库

server 服务端

Mysql Server Mysql服务器

4. 连接mysql

“mysql -u root -p”的意思是我要用用户名(这里是root)密码的方式登录mysql34d600ed275e40b5af476dfa2878d438.png

5. 创建data 文件夹

2. 数据库的基本操作

1. 数据库显示和讲解

showda59d7a864494328a78afd2e53a4eff0.png

2. 创建数据库

create

bd5343b666a04de5a135090e222c35bd.png

不能创建和关键字同名的数据库,如果硬要创建,这样写(那个是反引号,就是Tab键上面那个键)

63a96c0e4fb841229330caf5d0334235.png

更规范的写法054a3498477244e5ab3524062efa887f.png

3. 删除数据库

drop8d471729095d48ea84d0e86a75842152.png

4. 查看创建数据库的SQL81db13ca3fd340f480f978db7416e073.png

5. 创建数据库指定字符编码以及查看数据库的字符编码

在Windows里,控制台的默认字符编码是GBK3371c60ff3f44717a240fc3b33c23f5a.png

在学习阶段,如果是用Windows学习数据库,为了避免乱码数据库保存的东西乱码, 如果要创建数据库指定字符编码,要给它设置成gbk。如果用Mac或者Linux学习数据库,统一给它设置成utf-8。实际开发过程中也一定是设置成utf-8b02497bc30f34a539f7321191dbb8cb6.png

6. 修改数据库字符编码

alter35faf540d21d4e7685603c3748e6b0d2.png

3. 表的基本操作

1. 引入表

仓库里面有很多架子吧,这些架子是用来归类的,架子上一排一排的东西可以类比成表。数据库数据库,数据在表之中

2.引用数据库和查看数据库中的表

use9477c3ff31384dcea89b1eb6194ff969.png

3. 创建表

create31823b59647f4dcc93b8fc9db295f83a.png

更有b格地创建表(bushi):04a00ee476e34c7fbb2e1f9645f62fac.png

auto_increment:自动增长,在这里是以int类型自动增长,类似于自加“++”

primary key :主键,如果在一个字段(id,name,phone,address就是字段)后面加上了 primary key,就意味着这个字段是唯一的,不能有重复的,而且必须要填,不能为空。一般都是加在id后面,因为我们一般就是用id来作为区分的标准。

comment:注释(注意后面是单引号,不是反引号)

not null :在一个字段后面加上了 not null,意味着这个字段不能为空

default :默认值

engine=innodb:数据库引擎

看看两种创建方式的对比:16f8c6b62cf245ddab2e745188b3ee3d.png93bcb133a93443d18e38f94fd25da063.png

5. 查看表的结构

desc0304b265dece440db0afaca19d81bd29.png

6. 删除表

drop

这些表我随便建的,展示用

删除一个表6e44fe6c2fb64be88bd0288b342cfcc4.png

同时删除多个表6b0510403ee74375aed87d85070699a0.png

7. 修改表

添加字段:(alter:改变)7996bee6bda5459db0dcd36832d0eb00.png

在指定位置添加字段:443e829e627442e49b2bb6d12dac5b2a.png

907b12ab52384ddf8fac941593226065.png

删除字段:

drop

6975e661d529488f81209a21c1e00c79.png

修改字段:

改字段名和类型:

changec7d612c5d44f4e4aadb59ce84c7acd9d.png

只改字段类型:

modify871124273ee64a84a77d213f4caa08d2.png

修改表名:

rename7a27c6a49c58471a80be758764efc4ca.png

4. 数据操作

1. 操作数据

现在我们有表了,但是表里还没有数据f093f6ccef3348c1a6d25c46668ab608.png

select: 选择

*: 全部

from: 从哪张表

插入数据:

insert:插入4a4ab27ba0ae46bc80e58b49cdd42311.png3d605caaabb74d06844594b28c7e09d2.pngc8b47ff1f8e44a8db101e83dbace0cdd.pngf53cf64297c842fc9795daa59c078370.png

实际开发的时候大抵不是这么写的,但是这是学习阶段

一次性插入多条数据:477550e407414f1b8b92904f564e042e.png

2. 删除数据

delete3af13779884742ea8fbe5ccecda9e46f.png

delete:删除

from:想删除的数据来自哪张表

where:根据哪个字段来删除

如果不根据id来删除:e5b4dff436314903a4ed0634138781a4.png

这样一删就删了两行,容易出错,我们删数据的时候一般情况是按照唯一的主键来删除数据的

where语句也可以这样用:fc5d3d004f6c4e37863ed20f76067877.png

清空表:

用delete操作清空表:99f5d8da689c455bab9427afd30ad81c.png

因为我们从有一行的 id=6 就使用了delete语句,delete操作不会删除表的结构,只是删除数据,不会重置表的自动增量计数器 (创建teacher这张表的时候定义id是自动增长的,还记得吧) 。而且用delete操作清空表,需要遍历整张表,相当于用了一个for语句,速度很慢,一般不会用于清空整张表。

用truncate操作清空表:07534942aebd41f1a7e96421b4619a09.png

用truncate操作清空表,直接删除整个数据页,并且释放空间。truncate操作也不会删除表的结构,但它会重置表的自动增量计数器。清空表的时候一般用truncate而不用delete,truncate操作通常比delete更快,数据量大时更是如此

3. 更新数据

update:更新ff911fae88ff488ead6f0cdaf917552a.png

也可以同时更新多个数据6a1d827dfbe84ea4b42e43eb2f109256.png

注意:无论任何时候都要格外注意where后面接的东西,一般情况下where后面的都是唯一的

如果不加where会怎么样:0b91c940f5574b8f820db46bab2fe714.png

where后面也可以接多个条件d6c157fc73534c729318311b5904d081.png

4. 查询表数据(基本)

其实对于初学者来说,查询数据是最难的,我们先来看看最基本的,后面会说进阶的7a026ac317a5483bb6bf1c8e5e152d64.png

查询表的全部数据:(前面已经遇到很多次了)1dc4bbe0bdbb4ddf959e7618401d18fc.png

5. SQL语句区分

DDL:data definition language,数据定义语言,像create,drop,alter,show 这些是定义数据库的时候用的,给数据库用的。DDL主要用于创建、修改和删除数据库中的对象,比如数据库、表、索引和视图等。

DML:data manipulation language,数据操作语言,像insert,delete,update,select这些是用来操作数据库中存储的数据。DMLDML主要用于插入、查询、更新和删除数据库表中的记录。

DCL:data control language,数据控制语言,数据库管理系统(DBMS)中用来管理数据库中的数据访问权限和安全的语言。DCL包括了一系列的命令,这些命令用于授予或撤销用户访问数据库中特定数据的权限,以及控制不同用户对数据库对象的操作能力。

注:这是一篇b站Micro_Frank付费课的笔记

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值