admin管理员组文章数量:1030038
【MySQL】库的操作
1. 创建一个数据库
MySQL是一个数据库管理系统,在其中我们可以创建许多的数据库,数据库中中又可以存储许多的表。 如下图所示:
用户通过MySQL来创建数据库,下面是创建数据的语法:
代码语言:javascript代码运行次数:0运行复制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 创建一个数据库(演示
代码语言:javascript代码运行次数:0运行复制create database if not exists SpringThings;
创建成功,if not exists
的作用是什么呢>
如果创建的数据库已经存在就不会创建,并发出警告,当我们不加if not exists
就会报错,当然数据也不会创建。也就是说if not exists
是一种比较温和的检查方式。
继续看演示:
2. 字符集和校验规则
2.1 字符集
字符集大家都知道吧,想gbk
和utf-8
都是字符集,其底层也就是用一个唯一的二进制数来代表一个字符,不同的字符集可能对应的二进制数代表的字符不同。最早的字符集是ASCII码表,其大小只有一个字节,只能表示256个字符。
MySQL默认的字符集是什么呢?这个就要去看配置文件了,在Linux
下文件应该是存储在/etc/myf
里面的,来看看里面的配置吧。
我的MySQL里面配置的是utf8
还有一种方法就是在MySQL的命令行中输入:
show variables like 'character_set_database';
既然有默认的字符集,那么也就表示字符集是可以选择,MySQL中支持哪些字符集呢? 想要知道这个答案,只需要执行,下面这个命令即可:
代码语言:javascript代码运行次数:0运行复制show charset;
2.2 校验规则
这里的校验规则主要是针对字符的大小写,且是和字符集有关系的。 查看数据库支持的校验规则:
代码语言:javascript代码运行次数:0运行复制show collation;
由于支持的校验规则太多,就不截图了:( 在数据库中,一种字符集可以有多种校验规则。 比如现在我查看MySQL的默认校验规则
代码语言:javascript代码运行次数:0运行复制show variables like 'collation_database';
它还要这些校验规则:
关于校验规则对大小写的约束,我们来看下面的例子:
我们会用到的字符集是utf8
,校验规则为utf8_bin
(区分大小写)和utf8_general_ci
(不区分大小写)
我在数据库中创建了一个表并插入了一些数据,目前读者不需要了解~ 还记得我们的校验规则吗,不区分大小写那个~
居然都搜索出来吗…你这家伙。符合预期。 再创建一个数据库指定另一个校验规则:
代码语言:javascript代码运行次数:0运行复制create database if not exists collate utf8_bin;
这样就区分大小写了~
2.3 知识补充:)
在上面的数据库创建,就是这个:
代码语言:javascript代码运行次数:0运行复制create database if not exists collate utf8_bin;
我只是指定了校验规则,并没有指定字符集,MySQL能知道我的字符集吗?
答案是可以的,虽然我们MySQL设置的默认字符集就是utf8
但是即使我们设置其他默认字符集,MySQL依然可以自动推导出来,同理当你只指定了字符集MySQL也可以自动推测出校验规则~
不过要注意,你给的字符集和校验规则一定要是MySQL支持的,可不能自己随便写一个的。
3. 操作数据库
3.1 基础指令
- 查看MySQL下的所有数据库(记得+‘s’)
show databases;
2. 显示创建语句
代码语言:javascript代码运行次数:0运行复制show create database 数据库名字;
说明:
- 数据库名字的反引号,是为了防止使用的数据库名刚好是关键字
- /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话
3.2 使用数据库
在我们对一个数据库进行操作前,要先指定使用这个数据库。
代码语言:javascript代码运行次数:0运行复制use 数据库名
3.3 修改数据库
语法:
代码语言:javascript代码运行次数:0运行复制ALTER DATABASE 数据库名
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
其实我们对数据库的修改就是修改数据库的字符集和校验规则。
代码语言:javascript代码运行次数:0运行复制alter database SpringThings charset=gbk;
3.3.1 知识补充:)
其实我们啊还可以在文件里面来查看数据库的字符集,进入/var/lib/mysql
然后我们进入你想要查看的数据库,cat db.opt
3.4 数据库删除
语法:
代码语言:javascript代码运行次数:0运行复制DROP DATABASE [IF EXISTS] 数据库名字
我们可以先创建一个临时的数据库,然后演示删除:
注意: 不要轻易删除库,一旦数据库被删除,里面的所有数据啊,表啊就全部消失了。 也是变成了传说中的删库跑路。
4. 数据的备份与恢复
库被删了难道就没有办法了吗?其实还是有救的,前提是你备份了的话:) 备份的语法:
代码语言:javascript代码运行次数:0运行复制mysqldump -u 用户 -p -P 端口 -B 待备份的数据库 > 目标路径(含目标文件)
这里我们就先把SpringThings
备份了
代码语言:javascript代码运行次数:0运行复制注意:如果该数据库正在被使用,需要先断开连接。
nysqldump -u root -p -P 8000 -B SpringThings > /root/MySQL/SpringThings.sql
注意:此处博主没有加-B
选项,后续需要先创建数据库,然后再恢复!最好的方法就是加-B
然后我们删除该库
下面开始恢复。 恢复的语法:
代码语言:javascript代码运行次数:0运行复制SOURCE 路径
在恢复前,我们再看看路径文件里备份文件的内容吧。
还真是朴实无华啊,就是以前执行过的sql语句
注意:前面博主没有加-B
选项,后续需要先创建数据库,然后再恢复!最好的方法就是加-B
,所以这里其实是恢复失败了
恢复的语法就是如此,大家快去试试吧~
4.1 错误的备份方法:(
主播主播,这个备份操作还是太难写了,有没有更简单的方法。 有的有的,直接复制你需要备份的数据库然后打包,等以后需要的时候解压即可——吗?
这种方法严重不推荐,原因是恢复时可能会出现问题,假设恢复至版本更低的 MySQL
中,会出现各种奇怪的问题,毕竟老版本没有新特性,还有就是这种做法太暴力了
5.总结
在数据库中,创建数据库是最开始的一步,本文向读者介绍了库的创建,然后通过数据库的创建语法引导出数据库的字符集和校验规则,然后就是对数据库进行操作比如查看、修改等操作,最后就是数据的备份与恢复。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-04-17,如有侵权请联系 cloudcommunity@tencent 删除数据库mysql备份数据语法【MySQL】库的操作
1. 创建一个数据库
MySQL是一个数据库管理系统,在其中我们可以创建许多的数据库,数据库中中又可以存储许多的表。 如下图所示:
用户通过MySQL来创建数据库,下面是创建数据的语法:
代码语言:javascript代码运行次数:0运行复制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 创建一个数据库(演示
代码语言:javascript代码运行次数:0运行复制create database if not exists SpringThings;
创建成功,if not exists
的作用是什么呢>
如果创建的数据库已经存在就不会创建,并发出警告,当我们不加if not exists
就会报错,当然数据也不会创建。也就是说if not exists
是一种比较温和的检查方式。
继续看演示:
2. 字符集和校验规则
2.1 字符集
字符集大家都知道吧,想gbk
和utf-8
都是字符集,其底层也就是用一个唯一的二进制数来代表一个字符,不同的字符集可能对应的二进制数代表的字符不同。最早的字符集是ASCII码表,其大小只有一个字节,只能表示256个字符。
MySQL默认的字符集是什么呢?这个就要去看配置文件了,在Linux
下文件应该是存储在/etc/myf
里面的,来看看里面的配置吧。
我的MySQL里面配置的是utf8
还有一种方法就是在MySQL的命令行中输入:
show variables like 'character_set_database';
既然有默认的字符集,那么也就表示字符集是可以选择,MySQL中支持哪些字符集呢? 想要知道这个答案,只需要执行,下面这个命令即可:
代码语言:javascript代码运行次数:0运行复制show charset;
2.2 校验规则
这里的校验规则主要是针对字符的大小写,且是和字符集有关系的。 查看数据库支持的校验规则:
代码语言:javascript代码运行次数:0运行复制show collation;
由于支持的校验规则太多,就不截图了:( 在数据库中,一种字符集可以有多种校验规则。 比如现在我查看MySQL的默认校验规则
代码语言:javascript代码运行次数:0运行复制show variables like 'collation_database';
它还要这些校验规则:
关于校验规则对大小写的约束,我们来看下面的例子:
我们会用到的字符集是utf8
,校验规则为utf8_bin
(区分大小写)和utf8_general_ci
(不区分大小写)
我在数据库中创建了一个表并插入了一些数据,目前读者不需要了解~ 还记得我们的校验规则吗,不区分大小写那个~
居然都搜索出来吗…你这家伙。符合预期。 再创建一个数据库指定另一个校验规则:
代码语言:javascript代码运行次数:0运行复制create database if not exists collate utf8_bin;
这样就区分大小写了~
2.3 知识补充:)
在上面的数据库创建,就是这个:
代码语言:javascript代码运行次数:0运行复制create database if not exists collate utf8_bin;
我只是指定了校验规则,并没有指定字符集,MySQL能知道我的字符集吗?
答案是可以的,虽然我们MySQL设置的默认字符集就是utf8
但是即使我们设置其他默认字符集,MySQL依然可以自动推导出来,同理当你只指定了字符集MySQL也可以自动推测出校验规则~
不过要注意,你给的字符集和校验规则一定要是MySQL支持的,可不能自己随便写一个的。
3. 操作数据库
3.1 基础指令
- 查看MySQL下的所有数据库(记得+‘s’)
show databases;
2. 显示创建语句
代码语言:javascript代码运行次数:0运行复制show create database 数据库名字;
说明:
- 数据库名字的反引号,是为了防止使用的数据库名刚好是关键字
- /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话
3.2 使用数据库
在我们对一个数据库进行操作前,要先指定使用这个数据库。
代码语言:javascript代码运行次数:0运行复制use 数据库名
3.3 修改数据库
语法:
代码语言:javascript代码运行次数:0运行复制ALTER DATABASE 数据库名
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
其实我们对数据库的修改就是修改数据库的字符集和校验规则。
代码语言:javascript代码运行次数:0运行复制alter database SpringThings charset=gbk;
3.3.1 知识补充:)
其实我们啊还可以在文件里面来查看数据库的字符集,进入/var/lib/mysql
然后我们进入你想要查看的数据库,cat db.opt
3.4 数据库删除
语法:
代码语言:javascript代码运行次数:0运行复制DROP DATABASE [IF EXISTS] 数据库名字
我们可以先创建一个临时的数据库,然后演示删除:
注意: 不要轻易删除库,一旦数据库被删除,里面的所有数据啊,表啊就全部消失了。 也是变成了传说中的删库跑路。
4. 数据的备份与恢复
库被删了难道就没有办法了吗?其实还是有救的,前提是你备份了的话:) 备份的语法:
代码语言:javascript代码运行次数:0运行复制mysqldump -u 用户 -p -P 端口 -B 待备份的数据库 > 目标路径(含目标文件)
这里我们就先把SpringThings
备份了
代码语言:javascript代码运行次数:0运行复制注意:如果该数据库正在被使用,需要先断开连接。
nysqldump -u root -p -P 8000 -B SpringThings > /root/MySQL/SpringThings.sql
注意:此处博主没有加-B
选项,后续需要先创建数据库,然后再恢复!最好的方法就是加-B
然后我们删除该库
下面开始恢复。 恢复的语法:
代码语言:javascript代码运行次数:0运行复制SOURCE 路径
在恢复前,我们再看看路径文件里备份文件的内容吧。
还真是朴实无华啊,就是以前执行过的sql语句
注意:前面博主没有加-B
选项,后续需要先创建数据库,然后再恢复!最好的方法就是加-B
,所以这里其实是恢复失败了
恢复的语法就是如此,大家快去试试吧~
4.1 错误的备份方法:(
主播主播,这个备份操作还是太难写了,有没有更简单的方法。 有的有的,直接复制你需要备份的数据库然后打包,等以后需要的时候解压即可——吗?
这种方法严重不推荐,原因是恢复时可能会出现问题,假设恢复至版本更低的 MySQL
中,会出现各种奇怪的问题,毕竟老版本没有新特性,还有就是这种做法太暴力了
5.总结
在数据库中,创建数据库是最开始的一步,本文向读者介绍了库的创建,然后通过数据库的创建语法引导出数据库的字符集和校验规则,然后就是对数据库进行操作比如查看、修改等操作,最后就是数据的备份与恢复。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-04-17,如有侵权请联系 cloudcommunity@tencent 删除数据库mysql备份数据语法本文标签: MySQL库的操作
版权声明:本文标题:【MySQL】库的操作 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747638277a2197008.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论