【MySQL】库的操作

文章介绍了MySQL在Linux环境下的使用,讨论了字符集(如utf8_general_ci和utf8_bin)与校验规则对数据库的影响,通过示例展示了不区分大小写和区分大小写的查询差异。此外,还涵盖了数据库的删除、修改(包括字符集和校验规则的变更)以及备份与恢复操作。文章强调了字符集和校验规则的配套使用,并提供了mysqldump进行数据库备份的示例。
摘要由CSDN通过智能技术生成

  上一篇中我们讲到了数据库基础,下面我们接着上篇文章继续看一下字符集和校验规则;上篇文章没有看的话可以先看一下上篇:【MySQL】数据库基础_new出新对象的博客-CSDN博客

  在上篇文章中我们使用了windows下的MySQL环境,那么本篇文章的话,会用Linux下的MySQL来给大家进行演示,因为在Linux下方便我们查看数据库以及数据库的结果比较,至于没有Linux环境的朋友们,这里给大家推荐一篇文章来配置一下(虚拟机,服务器的话需要付费,根据个人情况进行选择):VMware虚拟机安装Linux教程(超详细)_linux虚拟机安装_七维大脑的博客-CSDN博客

安装虚拟机或者购买服务器之后可以查看上一篇文章中给大家推荐的Linux下安装MySQL文章进行安装。

1.校验规则对数据库的影响 

数据库默认的校验规则其实就是数据库中表格中的依赖规则,也就是说数据库中存储的表格的校验规则和数据库中的校验规则是一致的。

数据库中使用不同的校验规则对数据库是有影响的,下面举两个例子来看一下:

  • 不区分大小写
创建一个数据库,校验规则使用 utf8_ general_ ci[ 不区分大小写 ]
create database db_gc collate utf8_general_ci;

Linux服务器在路径 /var/lib/mysql 下,存储着数据库的数据,而在其db.opt中存储的是当前数据库的字符集和校验规则;这里的话我们可以查看一下db_gc中的字符集和校验规则。

[root@VM-8-15-centos mysql]# cat ./db_gc/db.opt
default-character-set=utf8
default-collation=utf8_general_ci
下面演示一下不区分大小写时的情况,这里不要求掌握下面所写的内容,只要能看到现象就行:
mysql> create table person(name varchar(20));
Query OK, 0 rows affected (0.09 sec)

mysql> insert into person values('a');
Query OK, 1 row affected (0.01 sec)

mysql> insert into person values('A');
Query OK, 1 row affected (0.00 sec)

mysql> insert into person values('b');
Query OK, 1 row affected (0.01 sec)

mysql> insert into person values('B');
Query OK, 1 row affected (0.00 sec)

mysql> select * from person where name='a';
+------+
| name |
+------+
| a    |
| A    |
+------+
2 rows in set (0.00 sec)
  • 区分大小写
创建一个数据库,校验规则使用 utf8_ bin[ 区分大小写 ]
mysql> use db_bin;
Database changed
mysql> create table person(name varchar(20));
Query OK, 0 rows affected (0.03 sec)

mysql> insert into person values('a');
Query OK, 1 row affected (0.01 sec)

mysql> insert into person values('A');
Query OK, 1 row affected (0.01 sec)

mysql> insert into person values('b');
Query OK, 1 row affected (0.02 sec)

mysql> insert into person values('B');
Query OK, 1 row affected (0.00 sec)

mysql> select * from person where name='a';
+------+
| name |
+------+
| a    |
+------+

select * from db_bin where name='a';在数据库中就是查找name为a所在行,utf8_bin区分大小写,所以只能查到一个a,没有A。

2.数据库的删除和修改

2.1 数据库的删除

drop database 数据库名;  下面演示删除charset1:

2.2 数据库的修改

数据库的修改一般只是修改所对应的字符集和校验规则,至于数据库名是修改可能会影响上层,现在是不支持的。数据库名错误的话可以直接删除数据库,再重新创建一个数据库即可。

alter database 数据库名 + ;

mysql> alter database db_bin charset=gbk;
Query OK, 1 row affected (0.00 sec)

校验规则:

mysql> alter database db_bin collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

注意:字符集在设置的时候,字符集的校验规则也会更改为与之匹配的校验规则;相同,校验规则更改时字符集也会更改为与之匹配的字符集;可以认为字符集和校验规则是配套使用的。

3.数据库的备份

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

如果没有重定向到文件的话,会把内容打印在命令行。

演示一下备份刚才创建的数据库db_bin:

[root@VM-8-15-centos mysql]# mysqldump -P3306 -u root -p -B db_bin > db_bin.sql

数据的恢复:

登录mysql,source 备份文件。

 

 恢复之后数据库db_bin就可以正常使用了。

【扩展】

数据库的备份备份的是数据库中的数据,还是数据库中的语句?—— 数据库中的语句,只要有创建语句和插入、删除等语句,就能恢复数据库中的数据;我们可以看一下刚才备份的db_bin.sql中的内容是什么。

今天的SQL内容就到这里,各位客官觉得有所收获的话可以点个关注,下篇内容更精彩!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

new出新对象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值