Mysql库的操作

文章目录

  • [1. 库的操作](#1. 库的操作)
  • [2. 字符集和校验规则](#2. 字符集和校验规则)
    • [2.1 校验规则对数据库的影响](#2.1 校验规则对数据库的影响)
    • [2.2 修改数据库](#2.2 修改数据库)
    • [2.3 备份和恢复](#2.3 备份和恢复)
  • [3. 查看连接情况](#3. 查看连接情况)

1. 库的操作


**说明:
大写的表示关键字

\] 是可选项 CHARACTER SET: 指定数据库采用的字符集 COLLATE: 指定数据库字符集的校验规则** ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/e14ee13b0bda40149e6e40828b1d4f72.png) 这就是创建一个最简单的数据库。如果我们**想看这个数据库的基本信息** ,我们可以使用命令:show create database xxxxxx ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/1d05f8ce1ce74343b566f433ce9e3431.png) /\*!40100 default... \*/ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。 **删除一个数据库:** ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/834ab618c3b74eb59079db6cc8f19b1b.png) 执行删除之后的结果: 数据库内部看不到对应的数据库,对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。 # 2. 字符集和校验规则 查看系统默认字符集以及校验规则: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/a48800a0a1dc45f591566a941c16b8f5.png) 我们使用数据库的目的是为了存数据或者是取数据,那么存数据需要按照特定的编码来进行存储,这个由字符集来决定。当取数据的时候,通过字符集和校验规则进行匹配。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/24a269fb64fc4b9a95d9e19cf86eed28.png) %的意思是模糊匹配,含有character_set都进行显示。第一个是客户端的字符集,第二个是链接传输的时候的字符集,第三个是数据库的字符集,第四个是我们把数据按二进制写到磁盘上。最后一个是编码集的所在路径。 校验规则也是类似的道理。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/1b78ef3ec99b458f8e17e0760ece6a5a.png) 我们在创建一个新的数据库的时候,里面有一个文件db.opt,里面放的就是设置的字符集和校验规则。 **下面我们进行带选项来创建数据库** : ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/b69a8d48699e4316919acefd2d096365.png) ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/3c9a56282be244bdba59961f8e97d839.png) 我们可以看到这个数据库的字符集就说gbk的。并且它也会自动帮我们的校验规则改成gbk_chinese_ci。 **还要一种设置字符集的方案** : ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/fbd1e8da5abd4042b613838089121a08.png) ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/9a2f1d84847d47c18d5496ccf4a2eb88.png) 或者可以字符集和校验规则一起设置: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/d2bc05103bb348ed8033e033880d21d3.png) ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/d4d5322fd5904d69b0a656de888dc892.png) ## 2.1 校验规则对数据库的影响 **设置数据库的编码和校验规则,本质影响的是:对应数据库内部的表。所以,表的编码和校验规则是根据数据库和创建表的SQL语句来决定的。数据库是由系统和创建数据库的SQL语句来决定的**。 创建一个数据库,校验规则使用utf8_ general_ ci\[不区分大小写\]: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/35acb5729c374bd3921dc5d6e0f5f9bc.png) 创建一个数据库,校验规则使用utf8_ bin\[区分大小写\]: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/ce34572d0fb8449598567bcba659bc3b.png) 它们编码一样,校验规则不一样。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/1271969e4b2f490884ae4892d2dc2ce3.png) 我们进入了这个数据库后,我们创建一个表。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/7d32553324f94309a398df48a5eb56b1.png) 我们再插入一些数据进入。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/ee751ee67a35476b9f33660dd12d57f3.png) desc是查看表的属性。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/de4d8ffeafc64c2fa01ad10ffc80d31d.png) select是查看表的内容。并且我们也可以指定内容来查询: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/7d5247f4be7c4c17ae9b0eddc2b64df3.png) 下面我们再试一下另外一个数据库: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/952fcedbb46d40619d4c28006e8f2e8a.png) 我们可以看到,同样的编码,不同的校验规则,查询的数据可能是不一样的。 **如果我们想查看我们当前在哪个数据库中,我们可以使用命令**: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/bb9c9e90de8548b1be74cfa54daa4273.png) **并且我们在查询的时候,也可以进行排序**: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/3f3563da650243b995ba4aecc1bae9c4.png) ## 2.2 修改数据库 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/d076ba396e364d69999f5375de2bbf2c.png) **对数据库的修改主要指的是修改数据库的字符集,校验规则**。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/63a24fac7e2d49d8a78463a6a031bad1.png) 我们可以看到,当我们只需要修改编码,校验规则自动帮我们修改。也可以编码和校验规则一起改,但是不能单单修改校验规则。 ## 2.3 备份和恢复 备份语法: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/5f2b17109e7c4b40843d68af699b3263.png) mysqldump是我们数据库进行备份的一个工具。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/048499de99ce434583e379bd7f4bcc89.png) 这个文件中存着我们整个创建数据库,建表,导入数据的语句。 还原语法: ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/81eecbfe4a5a4c42a44b5dca40cb0cb9.png) ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/f6e3ac4729204a2e957176bdc9e245e1.png) ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/b876eed61a4e46fc9f625cc66fe835b3.png) ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/82dd41380ffe4752a1e282b2b7af86eb.png) **如果同时备份多个数据库怎么做**? ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/d461b933a2d44ea3a9d1141b982b8e5a.png) **如果备份的不是整个数据库,而是其中的一张表,怎么做**? ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/976cd1dfdb5c440aa6db38939b86cb3d.png) 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。 # 3. 查看连接情况 ![在这里插入图片描述](https://file.jishuzhan.net/article/1704422081501859842/ef60645fead949109941f88e6a9e41d6.png) 可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

相关推荐
.Shu.27 分钟前
Mysql InnoDB 底层架构设计、功能、原理、源码系列合集【四、事务引擎核心 - MVCC与锁机制】
数据库·mysql
多工坊33 分钟前
【DataGrip】连接达梦数据库后,能查询数据但是看不到表的几种情况分析,达梦数据库驱动包下载DmJdbcDriver18.jar
java·数据库·jar
何中应1 小时前
如何用Redis作为消息队列
数据库·redis·缓存
liulilittle2 小时前
.NET反射与IL反编译核心技术
开发语言·数据库·c#·.net·反射·反编译·il
老纪的技术唠嗑局2 小时前
向量数据库在 UGC 社区个性化推荐的落地指南
数据库
张鱼小丸子2 小时前
MySQL企业级部署与高可用实战
运维·数据库·mysql·云原生·高可用·mha·组从复制
GalaxyPokemon2 小时前
MYSQL的默认隔离级别都有什么
数据库·mysql
DONG9132 小时前
《三驾马车:MySQL、MongoDB、Redis对比与融合实战》
数据库·redis·sql·mysql·mongodb·database
程序边界3 小时前
从 Oracle 到 KingbaseES:企业信创改造的“抄作业”模板,直接套用!
数据库·oracle
funfan05173 小时前
奇怪的“bug”--数据库的“隐式转换”行为
数据库·bug