一、创建数据库
create database [ if not exists ] 数据库名; // []中的为可选项
在创建库时,也可以指定数据库采用的字符集(character set)和数据库字符集的校验规则(collate)
(当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci,或者在配置文件中进行设置,在Linux中配置文件路径一般为 /etc/my.cnf,这样创建的数据库就会遵循配置文件中的选项)
字符集(Character Set)
字符集定义了数据库中可以存储哪些字符以及这些字符如何编码。每个字符集都包含了特定语言或符号的字符及其对应的编码。例如,
utf8
字符集支持 Unicode 标准中的多语言字符,包括英文字符、中文、日文、韩文等。latin1
(或称为iso8859-1
)则主要用于西欧语言。字符集的选择直接影响到数据的存储效率和准确性。选择不恰当的字符集可能会导致数据丢失(例如,使用不支持中文的字符集存储中文字符)或存储效率低下(例如,使用
utf8mb4
存储纯英文文本,而latin1
已足够)。校验规则(Collation)
校验规则定义了字符集中字符的比较和排序规则。在同一字符集下,可以存在多种不同的校验规则。这些规则决定了字符的比较是基于二进制值、是否区分大小写、是否区分重音符号等。
- show variables like 'character_set_database'; // 查看系统默认字符集
- show variables like 'collation_database'; // 查看系统默认的校验规则
- show charset; // 显示系统支持的字符集
- show collation; // 显示系统支持的字符集校验规则
二、显示数据库
show databases; // 显示数据库
show create database 数据库名; // 显示创建语句
说明:
- MySQL 建议我们关键字使用大写,但是不是必须的。
- 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
- /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话
三、修改数据库
alter database 数据库名 字符集 校验规则;
// 对数据库的修改主要指的是修改数据库的字符集,校验规则
四、删除数据库
drop database [if exists] 数据库名;
五、备份和恢复
1、备份
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径;
说明:
- -P 端口号 ,即mysql服务器进程对应的端口号
- -u 用户名
- -p 密码
- -B 数据库名
形成的文件中保存的是我们创建数据库的语句,也就是说当我们去还原数据库时,本质就是将这些语句重新执行一遍
2、恢复
source 备份的文件路径 ;
从上面我们也能看出,恢复时,只是在执行创建数据库时的各种语句。
如果我们只要备份数据库的其中一张/多张表
mysqldump -P3306 -u root -p 数据库名 表1 表2 .... > 数据库备份存储的文件路径;
如果我们要备份多个数据库
mysqldump -P3306 -u root -p -B 数据库1 数据库2 ... > 数据库备份存储的文件路径;
注意:-B选项的作用在于备份数据库时,备份文件中有创建数据库的语句,所以在恢复时,直接source就行,否则就需要先创建数据库,在使用数据库(即执行 use 数据库名),再进行source。
六、查看连接情况
show processlist;