- 数据库相关操作

1. 查看数据库
- 查看所有数据库
SHOW DATABASES;
显示当前MySQL实例中所有数据库的列表。
- 查看指定数据库
SHOW DATABASES LIKE '库名';
支持通配符 %(如 LIKE '%test%'匹配包含 “test” 的数据库名)。
- 查看建库语句
SHOW CREATE DATABASE 库名;
返回创建该数据库的完整SQL语句,包含字符集、排序规则等信息。
2. 创建数据库
- 基础语法
CREATE DATABASE 库名;
若未指定字符集,默认使用服务器配置(如MySQL的 utf8mb4)。
- 指定字符集与排序规则
CREATE DATABASE 库名
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci;
明确设置字符编码和排序规则,避免乱码问题。
- 加密选项(MySQL企业版)
DEFAULT ENCRYPTION = 'N'; — 'Y'表明加密,'N'为不加密
注意:此选项需MySQL企业版支持,社区版可能不可用。
3. 修改数据库字符集
ALTER DATABASE 库名
DEFAULT CHARACTER SET 新字符集
COLLATE 新排序规则;
注意:此操作仅影响后续新建的表,已有表的字符集需单独修改。
4. 删除数据库
DROP DATABASE 库名;
永久删除数据库及所有数据,需谨慎操作。
5. 切换/使用数据库
USE 库名;
SELECT DATABASE(); — 返回当前使用的数据库名
通过 USE切换上下文,后续操作默认作用于该库。
- 数据表相关操作

1. 查看表信息
- 查看所有表
SHOW TABLES;
- 查看表结构
DESC 表名; — 简略字段信息
SHOW CREATE TABLE 表名; — 完整建表语句
2. 创建表
- 基础语法
CREATE TABLE 表名 (
字段名 数据类型 [约束] [COMMENT '注释'],
…
) ENGINE=存储引擎 DEFAULT CHARSET=字符集 COLLATE=排序规则 COMMENT='表注释';
示例:
CREATE TABLE student (
id INT NOT NULL COMMENT '学号',
name VARCHAR(50) NOT NULL COMMENT '姓名',
age TINYINT UNSIGNED DEFAULT 18,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- 存储引擎:InnoDB支持事务,MyISAM适合读密集型场景。字符集:utf8mb4支持Emoji和多语言,utf8可能截断4字节字符。
3. 修改表结构
- 修改表名
RENAME TABLE 原表名 TO 新表名;
— 或
ALTER TABLE 原表名 RENAME 新表名;
- 修改字符集
ALTER TABLE 表名 CONVERT TO CHARACTER SET 新字符集 COLLATE 新排序规则;
此操作会转换表及所有列的字符集,需确保数据兼容性。
- 增删改字段添加字段
ALTER TABLE 表名
ADD COLUMN 字段名 数据类型 [约束] [AFTER 现有字段 | FIRST];
示例:
ALTER TABLE student ADD COLUMN phone CHAR(11) UNIQUE AFTER name;
- 修改字段
ALTER TABLE 表名
MODIFY COLUMN 字段名 新数据类型 [约束] [COMMENT '新注释'];
- 删除字段
ALTER TABLE 表名 DROP COLUMN 字段名;
- 修改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型 [约束];
4. 删除表
DROP TABLE 表名; — 删除表结构及数据
TRUNCATE TABLE 表名; — 删除数据并重置自增ID,保留表结构
DELETE FROM 表名; — 逐行删除数据,保留结构
区别:
- DROP彻底移除表,无法恢复。
- TRUNCATE效率高于 DELETE,不触发逐行删除日志
。
- DELETE支持事务回滚,TRUNCATE不可回滚
。
三、关键注意事项
- 字符集一致性
- 数据库、表、字段的字符集需统一,避免隐式转换导致乱码
。
- 修改字符集时,提议使用 ALTER TABLE CONVERT TO …同步转换所有列。
- DDL的隐式提交
- DDL操作(如 CREATE/ALTER/DROP)会自动提交事务,无法回滚
。
- 备份与恢复
- 修改表结构前,提议备份数据(如 mysqldump)。生产环境中,推荐使用工具(如Navicat、DBeaver)可视化操作,降低风险
。
四、扩展应用场景
- 批量建表:通过脚本生成DDL语句,结合版本控制工具(Git)管理变更。
- 字符集迁移:若需修改已有数据库的字符集,需导出数据→修改结构→重新导入(参考搜索结果
)。
- 权限控制:结合 GRANT/REVOKE限制用户对DDL操作的权限,提升安全性
。

















暂无评论内容