- 前置:之后的所有的 SQL 语句中,凡是被中括号 [ ] 括起来的均为可选项。
🌈 一、创建数据库
数据库创建语句
-
创建数据库本质就是在 /var/lib/mysql 中创建一个目录。
-
if not exists:如果指定数据库不存在则创建该数据库,如果存在则无事发生。
create database [if not exists] 数据库名;
🌈 二、查看数据库
1. 查看所有的数据库
- 查看当前用户下所能查看的数据库。
- 本质就是查看 /var/lib/mysql 中的所有目录。
show databases;
2. 查看当前正在使用的数据库
select database();
🌈 三、使用数据库
- 一般而言,数据库是有很多的,需要指定自己要使用哪个数据库。
use 数据库名;
🌈 四、修改数据库
- 对数据库的修改主要指的是修改数据库的字符集、校验规则。
alter database 数据库名 charset=指定字符集 collate 指定校验规则;
🌈 五、删除数据库
- 删除数据库的本质就是,删除 /var/lib/mysql 中的删除指定目录。
- if exists 选项表示如果指定数据库存在则将其删除,如果不存在则无事发生。
drop database [if exists] 数据库名;
- 直接删除数据库会将该库内的表也全部删除,特别不推荐直接删除数据库,如果非要删除,也要先对该数据库进行备份。
🌈 六、备份数据库
1. 备份数据库语法
- 在命令行输入以下指令备份指定数据库到指定位置。
- 备份不止是备份对应数据的数据,还会将对被备份数据库曾经的有效操作也给备份。
sudo mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
2. 备份数据库案例
- 使用如下指令将 db1 数据库备份到当前目录形成一个 test.sql 目录。
sudo mysqldump -P3306 -u root -p -B db1 > test.sql
🌈 七、恢复数据库
1. 恢复数据库语法
- 将对指定数据库的历史操作在新的 sql 中重新执行一遍。
mysql> source 备份文件所在路径;
2. 恢复数据库案例
🌈 八、字符集和校验规则
创建数据库时,有两个编码集
- 数据库编码集:数据库未来存储数据所要采用的编码集。
- 只要是数据,都要有对应的编码格式,而像数据库这种专门与数据打交道的就更不用说了。
- 数据库校验集:支持数据库,进行字段比较使用的编码,本质也是读取数据库中数据所采用的编码格式。
- 使用对数据库中的数据进行查找或匹配等需要比较的操作时,想要比较就要读取出来,在读的时候使用的校验规则。
- 结论:数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!
⭐ 1. 查看系统默认字符集及校验规则
- 查看系统默认字符集:
show variables like 'character_set_database';
- 查看系统默认校验规则:
show variables like 'collation_database';
⭐ 2. 查看数据库支持的字符集
show charset;
- 可能会因为 MySQL 配置文件的差异而导致字符集有所差异。
⭐ 3. 查看数据库支持的字符集校验规则
show collation;
- 查看的是字符集所对应的校验规则。