1. 数据库增删查改:
show databases; //展示数据库
create database xxx; //创建数据库xxx,本质在var/lib/mysql下创建一个xxx目录
drop database xxx; // 删除数据库xxx,本质在var/lib/mysql下删除xxx目录
create database xxx charset=utf8 collate utf8_general_ci; // 前面指定字符集,后面指定校验集
select database(); // 查看当前在哪个数据库
alter database xxx charset=gbk collate gbk_chinese_ci; // 修改数据库xxx的编码集
show processlist; // 查看当前数据库使用情况
2. 数据库编码集:
-
数据库编码集:存储数据的编码集。
-
数据库校验集:读取数据的编码集。
-
创建数据库时,如果没有指明字符集和校验集,默认使用配置文件中设置的编码格式,后续在该数据库中创建出的表就是依据当前数据库编码格式的。
show variables like 'character_set_database'; //查看数据库的字符集
show variables like 'collation_database'; // 查看数据库的校验集
3. 校验规则匹配问题:
-
如果使用不同的校验规则查询相同的表,查询到的数据不相同,比如校验规则为utf8_general_ci是不区分大小写的,而校验规则utf8_bin会区分大小写。
4. 数据库的备份和恢复:
mysqldump -P -u -p -B xxx > xxx.sql // 对xxx数据库打包形成xxx.sql,xxx.sql文件中存储的是历史对该数据库的所有有效操作。
source 路径; // 在mysql中使用source跑一下xxx.sql文件即可恢复出xxx数据库mysqldump -uroot -p 数据库名 表名1 表名2 > 名称.sql //备份数据库的某几张表
mysqldump -uroot -p -B 数据库名1 数据库名2 ... > 名称.sql // 备份多个数据库
//如果在备份数据库时没有加上-B参数,在恢复时,就需要先创建空数据库,再使用数据库,最后再跑source命令
//如果想要重命名数据库,可以备份数据库的所有表,然后创建新的数据库后,运行备份的文件。