【MySQL】MySQL库的操作

> 作者:დ旧言~

> 座右铭:松树千年终是朽,槿花一日自为荣。

> 目标:掌握对库操作的语句并能熟练掌握。

> 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安!

> 专栏选自:带你玩转MySQL

> 望小伙伴们点赞👍收藏✨加关注哟💕💕

​​

一、前言

想必大家在学校也学习过MySQL,可能学的懵懵懂懂,这个板块我们从入门开始,从最新的安装MySQL到学习MySQL语句,一步一步开始,一切都是新的,新的板块新的开始,大家一起努力,一起进步!!!

二 、主体

学习【MySQL】MySQL库的操作咱们按照下面的图解:

2.1创建数据库

语法使用:

cpp 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

讲解说明:

  • **create database:**表示为 固定用法
  • **db_name:**表示为数据库名称
  • **IF NOT EXISTS:**表示可选项
  • **CHARACTER SET:**指定数据库采用的字符集
  • **COLLATE:**指定数据库字符集的校验规则

创建数据库:

语句:

cpp 复制代码
create database if not exists test1;

效果:

解释:

IF NOT EXISTS 表示:当前数据库不存在 test1,则创建数据库。

2.2数据库编码问题

创建数据库时,有两个编码集:

  1. 数据库的字符集
  2. 数据库的校验集

创建一个使用utf8字符集的 db2 数据库:

cpp 复制代码
create database db2 charset=utf8;

创建一个使用utf字符集,并带校对规则的 db3 数据库:

cpp 复制代码
create database db3 charset=utf8 collate utf8_general_ci;

2.2.1查看系统默认支持的字符集

系统默认支持的字符集:

cpp 复制代码
show variables like 'character_set_database';

系统默认支持的字符集校验规则:

cpp 复制代码
show variables like 'collation_database';

2.2.2查看数据库支持的字符集

语法:

cpp 复制代码
show charset;

结果:

分析:

字符集主要是控制用什么语言,例如:utf8 就可以使用中文。

2.2.3查看数据库支持的字符集校验规则

语法:

cpp 复制代码
show collation;

结果:

2.2.4校验规则对数据库的影响

字符集编码格式和字符集校验规则的区别:

  • 字符集编码格式指的是在存储数据时各个字符的底层编码,用于指定数据的存储格式。
  • 字符集校验规则是在字符集内用于比较字符的一套规则,用于对数据进行对比。

校验规则对数据库的影响:

字符集编码格式和校验规则必须是对应的,但实际上同一种字符集编码格式一般会有多种可选择的校验规则,比如 utf8编码格式的校验规则有 utf8_general_ci、utf8_bin、utf8_unicode_ci等校验规则。使用不同的校验规则操作数据库中的数据可能会得到不同的结果。例如:utf8_general_ci校验规则在进行比对数据时是不区分大小写的,而utf8_bin校验规则在对比数据时是区分大小写的。

2.3操作数据库


2.3.1查看数据库

语法:

cpp 复制代码
show databases;

效果:

解释:

使用 show databases 可以查看系统中所有的数据库。

2.3.2显示创建语句

语法:

cpp 复制代码
show create database test1;

效果:

解释:

  • 使用 show create database + 数据库名 可以查看对应数据库的创建语句。
  • /*!40100 DEFAULT CHARACTER SET utf8 */ 不是表示注释,而是表示当前MySQL的版本如果大于 4.10,则执行后面的SQL语句。

2.3.3修改数据库

语法:

cpp 复制代码
ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];

效果:

解释:

这里的修改数据库指的是修改数据库的字符集或校验规则。

2.3.4删除数据库

语法:

cpp 复制代码
DROP DATABASE [IF EXISTS] db_name;

效果:

解释:

删除数据库后该数据库对应的文件夹就被删除了。

解释:

这里需要说明的是,删除数据库后,该数据库下的所有表也会都被级联删除,因此不要随便删除数据库。

2.4数据库的备份和恢复


2.4.1数据库的备份

语法:

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

使用:

cpp 复制代码
mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql

解释:

这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句 都装载这个文件中。

2.4.2数据库的恢复

语法:

cpp 复制代码
source 数据库备份存储的文件路径

使用:

cpp 复制代码
mysql> source D:/mysql-5.7.22/mytest.sql;

2.4.3表的删除与恢复

表备份:

cpp 复制代码
mysqldump -P3306 -u root -p Test student > /root/MySQL/table.sql

使用:

删表:

表恢复:

cpp 复制代码
source /root/MySQL/table.sql;

效果:

2.5查看连接情况

语法:

cpp 复制代码
show processlist;

效果:

解释:

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你 的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

三、结束语

今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。

​​ 、

相关推荐
千里马学框架3 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone4 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen4 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone4 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui