【MySQL】库的操作(数据库的创建、查看、修改 和 备份)

文章目录

  • 一、创建数据库
    • [1. 创建数据库的语法](#1. 创建数据库的语法)
    • [2. 字符集和校验规则的介绍](#2. 字符集和校验规则的介绍)
    • [3. 创建数据库语法 的使用](#3. 创建数据库语法 的使用)
  • [二、查看数据库 和 数据库的创建语句](#二、查看数据库 和 数据库的创建语句)
    • [1. 查看数据库 和 显示数据库创建语句 的语法](#1. 查看数据库 和 显示数据库创建语句 的语法)
    • [2. 查看数据库 和 数据库的创建语句](#2. 查看数据库 和 数据库的创建语句)
  • [三、修改 或 删除数据库](#三、修改 或 删除数据库)
    • [1. 修改数据库](#1. 修改数据库)
    • [2. 删除数据库](#2. 删除数据库)
  • [四、数据库的备份 与 恢复](#四、数据库的备份 与 恢复)
    • [1. 数据库的备份 与 恢复](#1. 数据库的备份 与 恢复)
    • [2. 数据表的备份 与 恢复](#2. 数据表的备份 与 恢复)
  • 五、查看数据库的连接情况

一、创建数据库

1. 创建数据库的语法

(1)创建数据库的 语法:

bash 复制代码
create database [IF NOT EXISTS] db_name 
    		    [CHARACTER SET 字符集名]
   			    [COLLATE 检验规则];
  • 是可选项
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则

(2)精简版语法:

bash 复制代码
create database db_name
  • 当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8mb4,校验规则是:utf8mb4_0900_ai_ci

2. 字符集和校验规则的介绍

  • 查看系统支持的字符集 以及 校验规则
bash 复制代码
# 查看系统支持的字符集
show variables like 'character_set_database';
# 查看系统支持的校验规则
show variables like 'collation_database';

MySQL8.0的默认字符集是 utf8mb4,该字符集的默认校验规则是 utf8mb4_0900_ai_ci


(1)不同的字符集支持的语言不同。 比如 utf8mb4 几乎支持所有语言和emoji,并且完整支持中文和特殊字符;

latin1仅支持英文

(2)校验规则对字符集的影响

  • 创建一个数据库,校验规则使用 utf8mb4_unicode_ci,字符解析就 不区分大小写

  • 创建一个数据库,校验规则使用 utf8mb4_bin,字符解析 严格区分大小写

3. 创建数据库语法 的使用

  • 创建名为 db1 的数据库
bash 复制代码
create database db1;

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8mb4,校验规则是:utf8mb4_0900_ai_ci

  • 创建一个使用utf8mb4字符集的 db2 数据库
bash 复制代码
# 第一种写法
create database db3 character set utf8mb4;
# 第二种写法
create database db2 charset=utf8mb4;

当我们创建数据库没有指定校验规则时,系统自动使用字符集 的默认校验规则,字符集 utf8mb4的默认校验规则是 utf8mb4_0900_ai_ci

  • 创建一个使用 utf8mb4字符集,并带校对规则 utf8mb4_0900_ai_ci 的数据库。
bash 复制代码
# 第一种写法
create database db3 character set utf8mb4 collate utf8mb4_0900_ai_ci;
# 第二种写法
create database db3 charset=utf8mb4 collate utf8mb4_0900_ai_ci;

二、查看数据库 和 数据库的创建语句

1. 查看数据库 和 显示数据库创建语句 的语法

  • 查看数据库的语法:
bash 复制代码
show databases;
  • 显示创建语句的语法:
bash 复制代码
show create database 数据库名;

2. 查看数据库 和 数据库的创建语句

三、修改 或 删除数据库

1. 修改数据库

  • 语法:
bash 复制代码
alter database test_alter
      [CHARACTER SET 字符集名]
      [COLLATE 检验规则];
  • 对数据库的修改主要指的是修改数据库的字符集,校验规则

实例: 将 db3 数据库字符集改成 gbk

bash 复制代码
alter database mytest character set gbk;

2. 删除数据库

  • 语法:
bash 复制代码
drop database [IF EXISTS] db_ name;

执行删除数据库的结果:对应的数据库文件夹被删除,级联删除,文件夹里面的数据表全部被删

四、数据库的备份 与 恢复

1. 数据库的备份 与 恢复

  • 数据库的备份:
bash 复制代码
# 备份单个数据库(包含结构和数据)
mysqldump -u root -p database_name > database_backup.sql

# 备份多个数据库
mysqldump -u root -p --databases db1 db2 db3 > multi_db_backup.sql

# 备份所有数据库
mysqldump -u root -p --all-databases > all_db_backup.sql
  • 数据库的恢复
bash 复制代码
# 恢复单个数据库
mysql -u root -p database_name < database_backup.sql

# 或者使用source命令(在mysql客户端内)
mysql> CREATE DATABASE database_name;
mysql> USE database_name;
mysql> source /path/to/database_backup.sql;

2. 数据表的备份 与 恢复

  • 数据表的备份:
bash 复制代码
# 备份单个表(结构和数据)
mysqldump -u root -p database_name table_name > table_backup.sql

# 备份多个表
mysqldump -u root -p database_name table1 table2 table3 > tables_backup.sql
  • 数据表的恢复:
bash 复制代码
# 恢复单个表
mysql -u root -p database_name < table_backup.sql

五、查看数据库的连接情况

  • 语法:
bash 复制代码
show processlist;
  • 示例:
bash 复制代码
mysql> show processlist;
+----+-----------------+-----------+------+---------+---------+------------------------+------------------+
| Id | User            | Host      | db   | Command | Time    | State                  | Info             |
+----+-----------------+-----------+------+---------+---------+------------------------+------------------+
|  5 | event_scheduler | localhost | NULL | Daemon  | 2946932 | Waiting on empty queue | NULL             |
| 85 | root            | localhost | NULL | Query   |       0 | init                   | show processlist |
+----+-----------------+-----------+------+---------+---------+------------------------+------------------+

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


相关推荐
yuzhiboyouye8 分钟前
那xml对应的sql语法,列举一下
xml·数据库·sql
. . . . .30 分钟前
乐观锁 vs 悲观锁
数据库·sql
Leo.yuan42 分钟前
2026年多数据库实时同步的四种架构方案及工具推荐
数据库·架构
hasty1 小时前
Origin 校验不是身份认证:MySQL MCP Server 漏洞给 AI 平台的警告
数据库·mysql·安全
梦想平凡2 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
凤山老林2 小时前
Spring Boot 整合 Flowable 的企业级落地指南
数据库·spring boot·后端·flowable·工作流
企业数字化笔记2 小时前
AI写的系统出现504怎么办?接口超时和数据库慢查询排查
数据库·后端
2601_962218613 小时前
万象生鲜系统订单全生命周期状态同步技术实现业务可视
大数据·数据库·人工智能·python·算法
Wang's Blog3 小时前
Java框架快速入门:Spring Security+OAuth2之用户注册与唯一性校验实现
java·数据库·spring
跨境生态圈4 小时前
2026谷歌SEO快速排名深度解析:合规起量、避坑指南与实战落地策略
数据库·人工智能·爬虫·搜索引擎·chatgpt