文章目录
- [1. 库的操作](#1. 库的操作)
- [2. 字符集和校验规则](#2. 字符集和校验规则)
-
- [2.1 校验规则对数据库的影响](#2.1 校验规则对数据库的影响)
- [2.2 修改数据库](#2.2 修改数据库)
- [2.3 备份和恢复](#2.3 备份和恢复)
- [3. 查看连接情况](#3. 查看连接情况)
1. 库的操作
说明:
大写的表示关键字
[] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则
这就是创建一个最简单的数据库。如果我们想看这个数据库的基本信息 ,我们可以使用命令:show create database xxxxxx
/*!40100 default... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。
删除一个数据库:
执行删除之后的结果:
数据库内部看不到对应的数据库,对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。
2. 字符集和校验规则
查看系统默认字符集以及校验规则:
我们使用数据库的目的是为了存数据或者是取数据,那么存数据需要按照特定的编码来进行存储,这个由字符集来决定。当取数据的时候,通过字符集和校验规则进行匹配。
%的意思是模糊匹配,含有character_set都进行显示。第一个是客户端的字符集,第二个是链接传输的时候的字符集,第三个是数据库的字符集,第四个是我们把数据按二进制写到磁盘上。最后一个是编码集的所在路径。
校验规则也是类似的道理。
我们在创建一个新的数据库的时候,里面有一个文件db.opt,里面放的就是设置的字符集和校验规则。
下面我们进行带选项来创建数据库 :
我们可以看到这个数据库的字符集就说gbk的。并且它也会自动帮我们的校验规则改成gbk_chinese_ci。
还要一种设置字符集的方案 :
或者可以字符集和校验规则一起设置:
2.1 校验规则对数据库的影响
设置数据库的编码和校验规则,本质影响的是:对应数据库内部的表。所以,表的编码和校验规则是根据数据库和创建表的SQL语句来决定的。数据库是由系统和创建数据库的SQL语句来决定的。
创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]:
创建一个数据库,校验规则使用utf8_ bin[区分大小写]:
它们编码一样,校验规则不一样。
我们进入了这个数据库后,我们创建一个表。
我们再插入一些数据进入。
desc是查看表的属性。
select是查看表的内容。并且我们也可以指定内容来查询:
下面我们再试一下另外一个数据库:
我们可以看到,同样的编码,不同的校验规则,查询的数据可能是不一样的。
如果我们想查看我们当前在哪个数据库中,我们可以使用命令:
并且我们在查询的时候,也可以进行排序:
2.2 修改数据库
对数据库的修改主要指的是修改数据库的字符集,校验规则。
我们可以看到,当我们只需要修改编码,校验规则自动帮我们修改。也可以编码和校验规则一起改,但是不能单单修改校验规则。
2.3 备份和恢复
备份语法:
mysqldump是我们数据库进行备份的一个工具。
这个文件中存着我们整个创建数据库,建表,导入数据的语句。
还原语法:
如果同时备份多个数据库怎么做?
如果备份的不是整个数据库,而是其中的一张表,怎么做?
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。
3. 查看连接情况
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。