MySQL--库的操作--校验规则对于数据库的影响--0409

1.库的基础操作

查看数据库

show databases;

创建数据库

create database 库名;

删除数据库

drop database 库名;

数据库删除时,对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。

查看建库语句

show create database 库名;

库名可以用` `修饰起来,可以使用MySQL的关键字(create等)进行建库

修改数据库

在目录中查看

    由于字符集和校验规则是一对多的,所以更改字符集,一般而言MySQL也会更改校验规则。 在修改数据库时,一般只修改字符集,或者字符集和校验规则一起修改。

2.字符集和字符集校验规则

2.1 查看系统默认字符集以及校验规则

show variables like character_set_database;
show variables like collation_database;

在配置文件中 /etc/my.cnf 我们手动设置了默认的字符集——utf8

2.2 使用特定的字符集创建数据库

使用特定的字符集创建 onlinetest_d1 数据库

create database onlinetest_d1 charset=gbk;

同时进入 var/lib/mysql 路径中


使用特定的字符集 和 校验集创建 onlinetest_d2数据库

create database onlinetest_d2 charset=utf8 collate utf8_bin;

2.3 不同校验规则对数据库的影响

在查和比较的时候,产生不同的结果。

2.3.1 大小写验证

先建库

其编码规则为 utf8_general_ci

create database test1 collate utf8_general_ci;

使用该库,然后建表,并插入数据

create table person(name varchar(20)); insert into person values(a); insert into person values(A); insert into person values(b); insert into person values(B);

打印指定数据

select * from person where name=a;

同样的操作,我们在建一个校验规则为utf8_bin的数据库,做同样处理

2.3.2 排序验证

使用 test1库

使用test2库

 3.备份和恢复

一般而言有两种备份方式:

    对数据做备份。 对操作语句做备份。

3.1 备份

在bash命令行中输入

mysqldump -p3306 -u root -p -B test1> value1 -B后面跟库名 ——test1 然后重定向到哪个文件 ——value1

3.2 恢复

mysql> source /root/MySQL/value1; source 跟当时备份到的文件即可
show databases;

3.3 备份的其他情况

    备份表
# mysqldump -u root -p 数据库名 表名1 表名2 > 备份到的文件路径
    同时备份多个数据库
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
    如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

4. 查看数据库连接情况

show processlist;

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是正常登陆的,很有可能数据库被人入侵了。以后发现数据库比较慢时,可以用这个指令来查看数据库连接情况。

经验分享 程序员 微信小程序 职场和发展