数据库的操作
1.查看数据库
show databases;
2.库的创建
create database [IF NOT EXITS] db_name [creat_specification];
[]内的是可选选项,IF NOT EXIT表示如果数据库名为db_name的数据库存在就创建数据库,否则就不创建,creat_specification是创建的特定条件,例如数据库的字符集和特定的校验规则。
字符集和校验规则:字符集定义了数据库存储字符时所使用的编码,而校验规则定义了字符比较和排序的规则。
1.查看系统默认字符集和校验规则
show variables like 'character_set_database';
show variables like 'collation_database‘;2.查看数据库支持的字符集校验规则
show charset;
show collation;
我的系统是unbunto,默认支持utf8
创建一个字符集是utf8mb4,校验规则是utf8mb4_general_ci的数据库
3.显示创建语句
show create database db_name;
后面的不是注释,表示当前mysql版本大于4.01版本,就执行这句话,里面有它的字符集和校验规则,DEFAULT ENCRYPTION='N'` 表示数据库默认未启用加密
4.修改数据库
修改数据库主要是指修改数据库的字符集和校验规则,不建议对数据库重命名,数据库偏向于底层,若修改后对上层代码进行修改和重新部署,增加工作量。
alter database test1 charset=gbk;
alter database teat1 collate gbk_chinese_ci;
5.数据库的删除
drop database [IF EXISTS] db_name;
删除数据库后,里面的所有文件和数据都会被删除,所以删除需谨慎,并做好备份;
6.数据库的备份和恢复
(1)备份
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
打开test1.sql文件,里面就是先前对test数据库操作(创建数据库、建表,向数据库导入数据的语句)都备份起来。
-B:若带了-B,之后还原时直接用source就可以,若没有需要创建一个新的数据库,再用source来还原。
这里我们演示的是没有带-B选项。
若是备份多个数据库
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
若是备份数据库中的表
# mysqldump -u root -p 数据库名 表名1 表名2 > /root/lwh/code/linux_learning/MySQL/mytest.sql
(2)恢复
source 备份的.sql文件的存放路径;