【MySQL】数据库的操作

【MySQL】数据库的操作

🌸心有所向,日复一日,必有精进

🌸专栏:《MySQL》

🌸作者:《MySQL》


目录

【MySQL】数据库的操作

创建一个数据库

创建示例

查看数据列表

创建数据库

删除数据库

字符集和校验规则

查看系统默认字符集以及校验规则

查看数据库支持的字符集

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

显示指定字符集和校验规则

不同校验编码的影响

操作数据库

查看数据库

显示创建语句

删除数据库

修改数据库

备份和恢复数据库

查看连接情况


创建一个数据库

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

创建示例

查看数据列表

sql 复制代码
show databases;

创建数据库

sql 复制代码
create database db_name

删除数据库

sql 复制代码
drop database db_name

字符集和校验规则

创建一个数据库的时候,会存在两个编码集:

  • 数据库编码集------数据库未来存储数据所使用的编码格式;
  • 数据库校验集------支持数据库进行字段比较时使用的编码格式,其实也就是一种读取数据库中数据采用的一种编码方式

在进行数据的任何操作时,都要保证操作和编码必须是一致的;

查看系统默认字符集以及校验规则

sql 复制代码
show variables like 'character_set_database';
show variables like 'collation_database';

查看数据库支持的字符集

sql 复制代码
show charset;

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

sql 复制代码
show collation;

显示指定字符集和校验规则

sql 复制代码
//创建一个使用utf8字符集的 db 数据库
create database db charset=utf8;
//创建一个使用utf字符集,并带校对规则的 db 数据库。
create database db charset=utf8 collate utf8_general_ci;

不同校验编码的影响

创建两个使用不同校验编码的数据库;

sql 复制代码
create database db1 charset=utf8 collate utf8_general_ci;

create database db2 charset=utf8 collate utf8_bin;

当对db1进行查询时:

当对db2进行查询时:

当我们使用的校验编码是utf8_general_ci;,查询出来的数据是不区分大小写的;

而使用utf8_bin;查询出的数据是区分大小写;

校验规则对于数据查询的影响一目了然;

操作数据库

查看数据库

sql 复制代码
show databases;

显示创建语句

sql 复制代码
show create database db_name;
  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • **/*!40100 DEFAULT CHARACTER SET utf8 */**这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

删除数据库

sql 复制代码
DROP DATABASE [IF EXISTS] db_ name;
  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

修改数据库

sql 复制代码
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

修改数据库的字符集,校验规则

备份和恢复数据库

备份

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

使用工具mysqldump针对db1来备份:

sql 复制代码
mysqldump -P3306 -uroot -p -B db1 > db1.sql

通过vim查看备份文件,我们发现不只是数据被备份了,其实也是把我们的历史操作给备份了;

还原

sql 复制代码
mysql> source 备份文件的路径;

先将db1数据库删除;

通过下面指令来进行恢复;

sql 复制代码
 source /home/user/MySQL/db1.sql;

我们实现了一个数据库的备份,但是我们可以对表单独进行备份;

sql 复制代码
mysqldump -u root -p 数据库名 表名1 表名2 > db.sql(不指定路径就是当前路径)

同时对多个数据库备份

sql 复制代码
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原

查看连接情况

sql 复制代码
show processlist;

当前有哪些用户连接到我们的MySQL,,现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。


相关推荐
jiayou641 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE21 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满8782 天前
5.Mysql事务隔离级别与锁机制
mysql
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H3 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql