库有关操作
1.创建数据库
create database if not exists 库名 character set char_name(指定数据库采用的字符集)collate collation_name(指定数据库字符集的校验规则
例子:
(1).创建名为zyc1的数据库
注:查看系统默认字符集及校验规则
当创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_general_ci
(2).创建一个使用utf8字符集的zyc2数据库
(3).创建一个使用utf8字符集并带校验规则的zyc3数据库
注:查看数据库支持的字符集和校验规则
字符集:是一套表示字符的符号和这些的符号的底层编码。控制用什么语言(utf8:中文)
特点:1).字符编码方式是用一个或多个字节表示字符集中的一个字符
2).每种字符集都有自己特有的编码方式,因此同一个字符,在不同字符集的编码方式下,会产生不同的二进制
常见字符集:
ASCII字符集:基于罗马字母表的一套字符集,它采用1个字节的低7位表示字符,高位始终为0。
LATIN1字符集:相对于ASCII字符集做了扩展,仍然使用一个字节表示字符,但启用了高位,扩展了字符集的表示范围。
GBK字符集:支持中文,字符有一字节编码和两字节编码方式。
UTF8字符集:Unicode字符集的一种,是计算机科学领域里的一项业界标准,支持了所有国家的文字字符,utf8采用1-4个字节表示字符。
校验规则:是在字符集内用于比较和排序字符的一套规则。是否需要区分大小写,按什么方式排序
特点:1).两个不同的字符集不能有相同的校对规则;
2).每个字符集有一个默认校对规则;
3).存在校对规则命名约定:以其相关的字符集名开始,中间包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。
注:系统使用utf8字符集,若使用utf8_bin校对规则执行SQL查询时区分大小写,使用utf8_general_ci不区分大小写例子如下:
创建两个数据库 pcl1(校验规则为utf8_bin) pcl2(校验规则为utf8_general_ci)并分别建表插入a,A,b,B字符如下:
图:pcl1数据库(utf8_bin区分大小写) 图:pcl2数据库(utf8_general_ci不区分大小写)
查询时的区别:
图:pcl1数据库(utf8_bin区分大小写) 图:pcl2数据库(utf8_general_ci不区分大小写)
排序时的区别:
图:pcl1数据库(utf8_bin区分大小写)按ASIIC码大小排序 图:pcl2数据库(utf8_general_ci不区分大小写)
2.操纵数据库
(1).查看有哪些数据库
(2).查看数据库创建语句
注:1).Mysql建议关键字使用大写,但不是必须的小写也可以
2).数据库名称的反引号' '是为了防止使用的数据库名刚好是关键字
3)./*!40100 default.....*/不是注释,表示当前Mysql版本大于4.01版本,就执行这句话
(3).修改数据库(主要修改数据库字符集、校验规则)
将pcl数据库字符集改成gbk
结果:
将pcl数据库字符集改成utf_general_ci
结果:
(4).删除数据库(不要随意的删除数据库,删除时注意备份)
注:数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
(5).备份和恢复数据库内容
①.将helloworld库备份到文件
恢复后的结果:
还原:
②.将helloworld中的表student备份
恢复后的结果:(需要创建新的数据库之后对其进行恢复)
还原:
③.同时备份多个数据库
注:如果备份一个数据库时,没有带上-B参数,在恢复数据库时,需要再创建空数据库,然后使用数据库,再用source来还原。
(6)查看连接情况
注:可查看当前有哪些用户连接到Mysql,查看Host网络段是否相差过大,可查看是否被入侵。可通过kill Id来处理入侵事件。