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

三、结束语

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

​​ 、

相关推荐
丘狸尾2 小时前
[cisco 模拟器] ftp服务器配置
android·运维·服务器
van叶~4 小时前
探索未来编程:仓颉语言的优雅设计与无限可能
android·java·数据库·仓颉
暗碳4 小时前
adb无线连接手机后scrcpy连接报错ERROR: Could not find any ADB device
adb·智能手机
Crossoads7 小时前
【汇编语言】端口 —— 「从端口到时间:一文了解CMOS RAM与汇编指令的交汇」
android·java·汇编·深度学习·网络协议·机器学习·汇编语言
li_liuliu8 小时前
Android4.4 在系统中添加自己的System Service
android
C4rpeDime11 小时前
自建MD5解密平台-续
android
鲤籽鲲12 小时前
C# Random 随机数 全面解析
android·java·c#
m0_5485147716 小时前
2024.12.10——攻防世界Web_php_include
android·前端·php
凤邪摩羯16 小时前
Android-性能优化-03-启动优化-启动耗时
android
凤邪摩羯16 小时前
Android-性能优化-02-内存优化-LeakCanary原理解析
android