MySQL库的操作

一、创建数据库

1.创建数据库的基本语法

创建数据库使用的是create指令,输入指令create database XXX;就可以简单地创建一个数据库,其中XXX代表的是数据库的名称。数据库的名称一般需要用反引号括起来,也可以不用。但是如果数据库的名称与某些关键字重复了,就必须使用反引号括起来,否则会报错,例如我们想要创建一个名字为create的数据库:
切记这里使用的是反引号,不是单引号!

在这里插入图片描述
我们还可以在创建数据库的时候加上if not exists选项,表示如果该数据库不存在才创建,如果存在了就不创建了。这个选项是可以选择填或者不填的。例如:create database is not exists XXX

2.指定字符集和校验集

数据库是用来存储数据的,所以数据库在创建的时候必须有统一的编码。当我们用数据库存储数据时,需要按照特定的编码来进行存储,这由字符集保证。当我们从数据库中取数据时,需要按照特定的编码来比较数据,这由数据库的校验编码来保证。所以我们在创建数据库时规定好了统一的编码之后,一般字符集和校验规则是匹配的。

我们可以使用指令show charset;来查看当前MySQL支持的所有字符集:

在这里插入图片描述

同样的,我们可以输入指令show collation;查看当前MySQL支持的所有校验集:

在这里插入图片描述

在使用create命令创建数据库时,可以指定该数据库使用的字符集和校验集是什么,只需要在后面带上相应的选项即可。比如我们在创建一个数据库时,想要将它的字符集设置为gbk,则输入指令create database test_d1 charset=gbk;,就可以成功创建一个字符集为gbk的数据库:

在这里插入图片描述

我们可以在Linux中MySQL存储数据的路径下查看刚刚创建好的数据库,test_d1目录下有一个db.opt文件,我们可以看一下这个文件的内容,文件里保存的就是该数据库的字符集和校验集:

在这里插入图片描述

除了上述方法设置字符集外,还可以使用这种方法:create database test_d1 character set gbk;

我们也可以在创建数据库的时候指定校验集,但是一般不需要我们自己指定,因为我们只需要指定字符集,MySQL就会帮我们自动匹配对应的校验集。如果要自己指定校验集,可以使用指令create database test_d1 charset=utf8 collate utf8_general_ci;进行设置。

如果我们在创建数据库的时候没有指明字符集和校验集,那么该数据库被创建之后会采用my.cnf配置文件中设置好的默认字符集和校验集。

二、删除数据库

删除数据库使用的是drop指令,其语法为drop database [if exists] XXX;。其中if exists是可以选择的选项,如果填上了if exists则代表当数据库存在时才删除。例如我们想删除名字为test_d1的数据库,输入指令drop database test_d1;

三、查看数据库

1.查看当前创建的数据库

查看数据库使用的是show指令,输入指令show databases;就可以查看当前已经创建好的数据库:

在这里插入图片描述

创建数据库本质上是在Linux指定路径下创建一个目录,如果我们在Linux的MySQL存放数据的路径下手动创建一个目录,在MySQL客户端使用show指令能不能查看到新创建的数据库呢?

在这里插入图片描述

测试一下我们发现,如果在Linux的MySQL存放数据路径下手动用mkdir创建一个目录,在MySQL客户端使用show指令是可以查看到这个新建的数据库的。但是及其不建议使用这种方法创建数据库。

2.显示创建语句

我们可以用show create database 数据库名;来查看创建数据库时的语句。例如我们查看test_d1的创建语句,则输入指令show create database test_d1;

在这里插入图片描述

/*!40100 default… */ 这个不是注释,它表示当前mysql版本大于4.01版本,就执行这句话。

四、修改数据库

修改数据库使用的是alter指令,需要说明的是,修改数据库主要指对数据库的字符集、校验集的修改,MySQL语句早期是有修改数据库名称的语句的,但现在已经没有了,MySQL目前不支持修改数据库名称,要想修改只能删除数据库重新创建。

例如,原本test_d1的字符集是gbk,我们想将test_d1数据库的字符集改成utf8,输入指令alter database test_d1 charset=utf8;

在这里插入图片描述

我们在Linux的MySQL存储数据路径下查看test_d1数据库的字符集,发现确实修改成了utf8:

在这里插入图片描述

五、数据库的备份

数据库是用来存储数据的,所以为了防止数据库出问题导致数据丢失,我们将数据库进行备份是非常有必要的。MySQL数据库备份可以使用mysqldump工具,输入指令mysqldump -P3306 -uroot -p 密码 -B 数据库名 > 数据库备份存储的文件路径,可以将指定的数据库备份到指定的文件里。

例如我们想将test_d1数据库备份起来,输入指令之后就将该数据库备份到了test_d1.sql文件当中了,我们查看一下文件的内容:

在这里插入图片描述

我们发现事实上MySQL的备份并不是将数据库的内容进行备份,而是将该数据库历史上的所有操作语句进行备份,只需要将该数据库的所有操作语句保存起来,未来在恢复的时候,只需要将该文件里的所有语句再从头到尾执行一次,就可以恢复出一模一样的数据库了。

六、数据库的恢复

我们使用mysqldump工具将数据库备份到指定的文件之后,可以使用source指令还原该数据库。在MySQL客户端执行指令source 备份文件带路径的文件名;即可恢复数据库。

例如我们先使用drop指令删除test_d1数据库,然后利用刚刚备份好的test_d1.sql文件恢复test_d1数据库:

在这里插入图片描述

自此,被删除的test_d1数据库就成功恢复了:

在这里插入图片描述

七、查看连接情况

我们当前采用的MySQL是root用户,MySQL可以多个用户同时登录,也可以使用show processlist;指令查看当前有哪些用户在使用我们的数据库:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值