【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,如果查出某个用户不是你正常登陆的,很有可能你 的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

三、结束语

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

​​ 、

相关推荐
每次的天空6 小时前
Android学习总结之算法篇五(字符串)
android·学习·算法
Gracker7 小时前
Android Weekly #202513
android
张拭心9 小时前
工作九年程序员的三月小结
android·前端
每次的天空9 小时前
Flutter学习总结之Android渲染对比
android·学习·flutter
鸿蒙布道师11 小时前
鸿蒙NEXT开发土司工具类(ArkTs)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
智想天开12 小时前
11.使用依赖注入容器实现松耦合
android
yunteng52113 小时前
音视频(四)android编译
android·ffmpeg·音视频·x264·x265
tangweiguo0305198713 小时前
(kotlin) Android 13 高版本 图片选择、显示与裁剪功能实现
android·开发语言·kotlin
匹马夕阳13 小时前
(一)前端程序员转安卓开发分析和规划建议
android·前端
Kika写代码13 小时前
【Android】UI开发:XML布局与Jetpack Compose的全面对比指南
android·xml·ui