内容小结:这篇学习了创建数据库的语句,介绍了一下默认字符集和校对规则,并且提到了它们对于创建数据表时的影响,并用一个区分大小写的例子直观反观了校对规则的作用。同时学习了查看、删除数据库,还有备份与恢复数据库操作,要区别清楚这几个指令分别是在什么环境下执行的。学习恢复时,也进一步学到如何只恢复数据库中部分表的操作代码使用:创建数据库语句、查看、删除、备份、恢复数据库语句、恢复数据库中部分表语句创建数据库就要给数据库起一个名字,下面以创建名为 my_first_db 的数据库(数据库名建议小写、用下划线分隔,避免特殊字符)举例-- 仅当数据库不存在时创建,避免报错CREATE DATABASE IF NOT EXISTS my_first_db--下面两行提示了sq默认的字符集和较对规则DEFAULT CHARACTER SET utf8mb4DEFAULT COLLATE utf8mb4_unicode_ci;
- 这里也可以不加
IF NOT EXISTS 判断,但是如果创建名已经存在,就会得到“数据库已存在”的报错。 DEFAULT CHARACTER SET utf8mb4:设置数据库默认字符集为utf8mb4(比 utf8 更完整,支持 emoji 和特殊中文);DEFAULT COLLATE utf8mb4_unicode_ci:设置排序规则,ci 表示不区分大小写,适合大部分场景。常用的还有 utf8_bin表示区分大小写
下面看几个真实操作的例子,利用SQLyog进行示范: # 创建一个名称为zsq_db01 的数据库。【图形化和指令】 CREATE DATABASE zsq_dbo1 # 删除数据库 DROP DATABASE zsq_db01 # 创建一个使用utf8字符集的zsq_db02数据库 CREATE DATABASE zsq_db02 CHARACTER SET utf8 # 创建一个使用utf8字符集,并带校对规则的 zsq_db03数据库 CREATE DATABASE zsq_db03 CHARACTER SET utf8 COLLATE utf8_bin
以上语句中有两个指令,分别是创建时自定义数据库的字符集与较对规则CHARACTER SET utf8 # 自定义字符集COLLATE utf8_bin # 自定义较对规则区分大小写,默认设置为不区分大小写
数据库的这两个属性的设置会影响创建表时数据的默认设定,在创建表数据的时候,没有给表设置字符集与校对规则,那么表中数据就会默认与字符集的默认设置保持一致,简单说就是继承关系。如下图:上面的指令中我们看到创建的表zsq_db03是设定了区分大小写的,所以检测不到 Tom 的数据。 -- 查看服务器默认字符集SHOW VARIABLES LIKE 'character_set_server'-- 查看服务器默认校对规则SHOW VARIABLES LIKE 'collation_server'
# 查看当前数据库服务器中的所有数据库SHOW DATABASES# 查看前面创建的zsq_db02数据库的定义信息SHOW CREATE DATABASE zsq_db02# 在创建数据库或表时,为了规避关键字,可以用反引号解决CREATE DATABASE 'create'# 删除数据库DROP DATABASE zsq_db03
- “DOS 下执行命令” 的本质:Windows 里就是打开「CMD 命令提示符」窗口,用纯文字方式执行指令(替代图形化工具);
# 将数据文件备份(即复制)某个特定路径文件之下# 基本语法:mysqldump -u 用户名 -p -B 数据库1 数据库2 > 备份文件保存路径mysqldump -u root -p -B zsq_db01 > D:\sql_data\Data\zsq_db01_20260303.sql
-B(全称--databases)关键参数!备份多个数据库,且备份文件中会包含CREATE DATABASE和USE语句,恢复时无需手动创建数据库。有了这个参数,我们备份的就是整个数据库,如果只想备份其中的某个表,可以去除 -B 这个参数,这样操作:
# 基本语法:mysqldump -u 用户名 -p 数据库1 表2 > 备份文件保存路径mysqldump -u root -p zsq_db01 t1 > D:\sql_data\Data\zsq_db01_20260303.sql
恢复操作也很简单,但是你要清楚,恢复是在备份的基础上进行的,首先要先连接到Mysql,并在其中进行下面操作# 恢复文件指令(这个命令要在Mysql的命令行进行执行)source D:\sql_data\Data\zsq_db01_20260303.sql