跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

MySQL 数据库的基本操作与管理

创建数据库 语法说明 IF NOT EXISTS:可选参数,避免数据库已存在时报错。 CHARACTER SET:指定数据库采用的字符集。 COLLATE:指定数据库字符集的校验规则(排序规则)。 创建示例 **1. 基础创建** 若未指定字符集和校验规则,系统将使用默认配置(通常为 utf8mb4 及对应的默认排序规则)。 **2. 指定字符集** **3. 指定字符集与校验规则** 字符集与校…

Tesfly发布于 2026/3/30更新于 2026/5/2250K 浏览
MySQL 数据库的基本操作与管理

创建数据库

语法说明

CREATE DATABASE [IF NOT EXISTS] db_name 
    [DEFAULT] CHARACTER SET charset_name 
    [DEFAULT] COLLATE collation_name;
  • IF NOT EXISTS:可选参数,避免数据库已存在时报错。
  • CHARACTER SET:指定数据库采用的字符集。
  • COLLATE:指定数据库字符集的校验规则(排序规则)。

创建示例

1. 基础创建

CREATE DATABASE db1;

若未指定字符集和校验规则,系统将使用默认配置(通常为 utf8mb4 及对应的默认排序规则)。

2. 指定字符集

CREATE DATABASE db2 CHARACTER SET utf8mb4;

3. 指定字符集与校验规则

CREATE DATABASE db3 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

字符集与校验规则

查看系统默认配置

SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';

查看支持的字符集与校验规则

SHOW CHARSET;
SHOW COLLATION;

字符集决定数据库支持的语言编码(如 utf8mb4 支持中文及 Emoji),而校验规则(Collation)决定字符串的比较和排序方式。两者具有严格的匹配关系。

校验规则对查询与排序的影响

校验规则名称通常以 _ci(Case Insensitive,不区分大小写)或 _bin(Binary,区分大小写)结尾。

1. 不区分大小写 (utf8mb4_general_ci)

CREATE DATABASE test_ci COLLATE utf8mb4_general_ci;
USE test_ci;
CREATE TABLE person(name VARCHAR(20));
INSERT INTO person VALUES ('a'), ('A'), ('b'), ('B');

-- 查询结果:返回 'a' 和 'A'
SELECT * FROM person WHERE name = 'a';

-- 排序结果:按字母顺序,不区分大小写
SELECT * FROM person ORDER BY name;

2. 区分大小写 (utf8mb4_bin)

CREATE DATABASE test_bin COLLATE utf8mb4_bin;
USE test_bin;
CREATE TABLE person(name VARCHAR(20));
INSERT INTO person VALUES ('a'), ('A'), ('b'), ('B');

-- 查询结果:仅返回 'a'
SELECT * FROM person WHERE name = 'a';

-- 排序结果:按 ASCII 码排序(大写字母排在小写字母前)
SELECT * FROM person ORDER BY name;

数据库管理操作

查看数据库列表

SHOW DATABASES;

查看数据库创建语句

SHOW CREATE DATABASE db_name;

说明:

  • 数据库名使用反引号 ` 包裹,防止与保留字冲突。
  • /*!40100 ... */ 是 MySQL 的条件注释语法,表示当 MySQL 版本大于等于 4.01.00 时执行该语句。

修改数据库配置

主要用于修改字符集和校验规则:

ALTER DATABASE db_name 
    [DEFAULT] CHARACTER SET charset_name 
    [DEFAULT] COLLATE collation_name;

示例: 将 mytest 数据库字符集改为 gbk

ALTER DATABASE mytest CHARACTER SET gbk;

删除数据库

DROP DATABASE [IF EXISTS] db_name;

注意: 删除操作会级联删除该数据库下的所有数据表及数据,且不可恢复,请谨慎操作。

备份与恢复

备份数据库

使用 mysqldump 工具在命令行执行:

# 备份整个数据库(包含建库语句)
mysqldump -u root -p -B db_name > backup.sql

# 备份指定表
mysqldump -u root -p db_name table1 table2 > backup.sql

# 同时备份多个数据库
mysqldump -u root -p -B db1 db2 > backup.sql

恢复数据库

方式一:使用 source 命令(登录 MySQL 后执行)

SOURCE /path/to/backup.sql;

方式二:命令行重定向

mysql -u root -p < backup.sql

注意事项:

  • 若备份时未使用 -B 参数,导出的 SQL 文件中不包含 CREATE DATABASE 和 USE 语句。恢复前需手动创建空数据库并切换至该库,再执行恢复命令。

查看连接情况

SHOW PROCESSLIST;

该命令用于查看当前连接到 MySQL 的所有客户端线程信息。通过 User、Host、Command、Time 和 State 等字段,可以监控数据库负载、排查慢查询或发现异常登录,是日常运维与安全排查的重要工具。

目录

  1. 创建数据库
  2. 语法说明
  3. 创建示例
  4. 字符集与校验规则
  5. 查看系统默认配置
  6. 查看支持的字符集与校验规则
  7. 校验规则对查询与排序的影响
  8. 数据库管理操作
  9. 查看数据库列表
  10. 查看数据库创建语句
  11. 修改数据库配置
  12. 删除数据库
  13. 备份与恢复
  14. 备份数据库
  15. 备份整个数据库(包含建库语句)
  16. 备份指定表
  17. 同时备份多个数据库
  18. 恢复数据库
  19. 查看连接情况
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Qwen3Guard-Gen-WEB AI 伦理防火墙部署与实战体验
  • 前端文件下载实战:从原理到最佳实践
  • FAIR plus 机器人全产业链接会:聚焦具身智能与全球协作
  • C++ 手写线程池:基于策略模式实现日志模块
  • 两个月从入门到独立进行漏洞挖掘的渗透测试指南
  • Web3 开发入门:概览与开发环境搭建
  • PyCharm 安装 Python 模块失败?常见 pip 报错原因与解决方案
  • Node.js 在 Windows 上的安装与配置详解
  • 归并排序与数组逆序对问题详解
  • C++ STL 容器适配器:Stack、Queue 及 Priority Queue 详解
  • VSCode 远程连接 Linux 服务器进行 C++ 调试的配置指南
  • C++ 函数重载详解:调试技巧与性能优化实战
  • 深入理解 C 语言数组的内存布局与访问
  • AI 辅助前端逆向实践:Upwork 消息系统解析
  • 深入理解 Corepack:Node.js 包管理统一方案
  • AI 编程工具收费模式变革:Token 计费时代的开发者生存指南
  • HarmonyOS DevEco Studio 安装与应用工程创建指南
  • 机器人轨迹规划基础与常用算法
  • GitHub 代码文件抓取与数据可视化实践(Python 实现)
  • GPU 云计算平台资源选型与大模型应用实践

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online