当前位置: 代码网 > it编程>数据库>Mysql > MySQL库的操作大全

MySQL库的操作大全

2025年05月14日 Mysql 我要评论
1. 创建一个数据库mysql是一个数据库管理系统,在其中我们可以创建许多的数据库,数据库中中又可以存储许多的表。如下图所示:用户通过mysql来创建数据库,下面是创建数据的语法:create dat

1. 创建一个数据库

mysql是一个数据库管理系统,在其中我们可以创建许多的数据库,数据库中中又可以存储许多的表。
如下图所示:

image.png

用户通过mysql来创建数据库,下面是创建数据的语法:

create database [if not exists] 数据库名字 [create_specification [,create_specification]...]
create_specification:
	[default] character set charset_name
	[default] collate collation_name

注意:

  • 大写的字符都是mysql中的关键字(在创建的时候,可以不大写,这里不区分大小写,个人喜欢小写,主要大写不好认(bushi))
  • []内的内容都是可以省略的,所以最简单的写法就是这样:
create database 数据库名字
  • character set:指定数据库采用的字符集(本文下面讲~)
  • collate:指定数据库字符集的校验规则(本文下面讲~)

1.1 创建一个数据库(演示

create database if not exists springthings;

image.png

创建成功,if not exists的作用是什么呢>
如果创建的数据库已经存在就不会创建,并发出警告,当我们不加if not exists就会报错,当然数据也不会创建。也就是说if not exists是一种比较温和的检查方式。
继续看演示:

image.png

2. 字符集和校验规则

2.1 字符集

字符集大家都知道吧,想gbkutf-8都是字符集,其底层也就是用一个唯一的二进制数来代表一个字符,不同的字符集可能对应的二进制数代表的字符不同。最早的字符集是ascii码表,其大小只有一个字节,只能表示256个字符。
mysql默认的字符集是什么呢?这个就要去看配置文件了,在linux下文件应该是存储在/etc/my.cnf里面的,来看看里面的配置吧。

image.png

我的mysql里面配置的是utf8
还有一种方法就是在mysql的命令行中输入:

show variables like 'character_set_database';

image.png

既然有默认的字符集,那么也就表示字符集是可以选择,mysql中支持哪些字符集呢?
想要知道这个答案,只需要执行,下面这个命令即可:

show charset;

image.png

2.2 校验规则

这里的校验规则主要是针对字符的大小写,且是和字符集有关系的。
查看数据库支持的校验规则:

show collation;

由于支持的校验规则太多,就不截图了:(
在数据库中,一种字符集可以有多种校验规则。
比如现在我查看mysql的默认校验规则

show variables like 'collation_database';

image.png

它还要这些校验规则:

image.png

关于校验规则对大小写的约束,我们来看下面的例子:
我们会用到的字符集是utf8,校验规则为utf8_bin(区分大小写)和utf8_general_ci(不区分大小写)

image.png

我在数据库中创建了一个表并插入了一些数据,目前读者不需要了解~
还记得我们的校验规则吗,不区分大小写那个~

image.png

居然都搜索出来吗…你这家伙。符合预期。
再创建一个数据库指定另一个校验规则:

create database if not exists collate utf8_bin;

image.png

这样就区分大小写了~

2.3 知识补充:)

在上面的数据库创建,就是这个:

create database if not exists collate utf8_bin;

我只是指定了校验规则,并没有指定字符集,mysql能知道我的字符集吗?
答案是可以的,虽然我们mysql设置的默认字符集就是utf8但是即使我们设置其他默认字符集,mysql依然可以自动推导出来,同理当你只指定了字符集mysql也可以自动推测出校验规则~

不过要注意,你给的字符集和校验规则一定要是mysql支持的,可不能自己随便写一个的。

3. 操作数据库

3.1 基础指令 查看mysql下的所有数据库(记得+‘s’)

show databases;

image.png

2. 显示创建语句

show create database 数据库名字;

image.png

说明:

数据库名字的反引号,是为了防止使用的数据库名刚好是关键字/*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话 3.2 使用数据库

在我们对一个数据库进行操作前,要先指定使用这个数据库。

use 数据库名

3.3 修改数据库

语法:

alter database 数据库名
[alter_spacification [,alter_spacification]...]
alter_spacification:
[default] character set charset_name
[default] collate collation_name

其实我们对数据库的修改就是修改数据库的字符集和校验规则。

alter database springthings charset=gbk;

image.png

3.3.1 知识补充:)

其实我们啊还可以在文件里面来查看数据库的字符集,进入/var/lib/mysql

image.png

然后我们进入你想要查看的数据库,cat db.opt

image.png

3.4 数据库删除

语法:

drop database [if exists] 数据库名字

我们可以先创建一个临时的数据库,然后演示删除:

image.png

注意:
不要轻易删除库,一旦数据库被删除,里面的所有数据啊,表啊就全部消失了。
也是变成了传说中的删库跑路。

4. 数据的备份与恢复

库被删了难道就没有办法了吗?其实还是有救的,前提是你备份了的话:)
备份的语法:

mysqldump -u 用户 -p -p 端口 -b 待备份的数据库 > 目标路径(含目标文件)

这里我们就先把springthings备份了

注意:如果该数据库正在被使用,需要先断开连接。

nysqldump -u root -p -p 8000 -b springthings > /root/mysql/springthings.sql

image.png

注意:此处博主没有加-b选项,后续需要先创建数据库,然后再恢复!最好的方法就是加-b
然后我们删除该库

image.png

下面开始恢复。
恢复的语法:

source 路径

在恢复前,我们再看看路径文件里备份文件的内容吧。

image.png

还真是朴实无华啊,就是以前执行过的sql语句

image.png

注意:前面博主没有加-b选项,后续需要先创建数据库,然后再恢复!最好的方法就是加-b,所以这里其实是恢复失败了
恢复的语法就是如此,大家快去试试吧~

4.1 错误的备份方法:(

主播主播,这个备份操作还是太难写了,有没有更简单的方法。
有的有的,直接复制你需要备份的数据库然后打包,等以后需要的时候解压即可——吗?

这种方法严重不推荐,原因是恢复时可能会出现问题,假设恢复至版本更低的 mysql 中,会出现各种奇怪的问题,毕竟老版本没有新特性,还有就是这种做法太暴力了

5.总结

在数据库中,创建数据库是最开始的一步,本文向读者介绍了库的创建,然后通过数据库的创建语法引导出数据库的字符集和校验规则,然后就是对数据库进行操作比如查看、修改等操作,最后就是数据的备份与恢复。

到此这篇关于mysql库的操作的文章就介绍到这了,更多相关mysql库的操作内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com