1. 创建数据库
格式为:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] …]
create database 表示为 固定用法
db_name 表示为 数据库名称
[IF NOT EXISTS] 表示可选项
在终端中,通过 mysql -uroot -p 指令,登陆数据库
再输入 show databases; 查看当前用户所能看到的数据库列表
2. 删除库
在终端1中,输入 drop database database1; 表示 要删除 database1 数据库,在终端2中, 再次查看则没有database1数据库存在
可若删除数据库,则对应的目录也被删除了,若该目录下有表存在,则也会被直接删除
总结: 创建数据库 —— create database db_name(数据库名称); 本质 就是在 /var/lib/mysql 创建一个目录
删除数据库 —— drop database db_name (数据库名称); 本质就是在 /var/lib/mysql 删除一个目录
3. 数据库的编码问题
创建数据库时,有两个编码集:数据库的字符集 和数据库的校验集
数据库的字符集 —— 数据库未来存储数据
(数据库存数据时,采用什么编码)
create database db2 charset=utf8;
数据库的校验集 —— 支持数据库,进行字段比较使用的编码,本质是读取数据库中数据的采用的编码格式
( 查找或匹配数据库,就需要进行比较字段,想要被比较,两者就需要先被读出来,此时两者的校验规则应该相同)
create database db3 charset=uf8 collate utf8_fgenral_ci;
查看系统默认支持的字符集
输入 show variables like ‘character_set_database’;
字符集数据库 默认为 utf8
查看系统默认支持的校验集
输入 show variables like ‘collation_database’;
校验集数据库 默认为 utf8mb3_general_ci
查看系统默认支持的校验集
输入 show variables like ‘collation_database’;
校验集数据库 默认为 utf8mb3_general_ci
只查看 database的校验集
输入 show variables like ‘collation_%’;
只查看 database的校验集
连接 、数据库进行常规操作、服务器 的 本身的校验规则 都是 utf8
4. 修改数据库
输入 alter database test2 charset=gbk collate gbk_chinese_ci;
修改test2数据库的字符集为gbk
修改test2数据库的校验集为gbk_chinese_ci
5. 查看数据库
输入 show databases; 查看数据库
6. 数据库的备份和恢复
备份
在终端1中,输入 show databases; 发现 存在test1数据库
备份关键字为 mysqldump
-B 表示指明哪一个数据库
在终端2中, 将 test2数据库的历史上所有做过的有效操作备份起来了
备份到 test1.tql中
在终端1中,删除test1数据库
在终端2中,打开 var/lib/mysql 路径后,发现不存在 test1目录
但是存在 test1.tql 即test1目录的备份
恢复
此时就可以通过test1.tql ,恢复一个test1目录
在终端2中,输入 pwd 指令,查询当前路径 /var/lib/mysql
在终端1中,输入 source +test1.tql所在路径 即 source /var/lib/mysql/test1.tql
就可以使 test1.sql 中的历史命令 全部在新的mysql中执行一次
在终端1中,输入 show databases; 即又查询到test1数据库的存在
注意事项
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原
7. 查看连接情况
输入 show processlist; 查看连接情况
User 表示 用户 ,即当前用户为root
db 表示数据库, 即当前连接的是test1数据库
command 表示 命令