在 MySQL 数据库管理体系中,DDL(Data Definition Language,数据定义语言)是构建数据库结构的'基石',它负责定义数据库、数据表、字段等核心对象的结构与属性,不涉及数据的增删改查,仅聚焦于'结构层面'的操作。对于 MySQL 初学者而言,熟练掌握 DDL 是入门数据库开发的第一步。本文将结合实战场景,对数据库、数据表、字段的 DDL 操作进行详细解析,不仅讲解语法本身,还拆解背后的逻辑和实际应用场景。
一、数据库级别的 DDL 操作
数据库是数据表的'容器',所有数据表都必须归属某一个数据库。在操作数据表前,首先要掌握数据库的创建、查看、修改、删除等核心操作,确保能精准管理数据库容器。
1. 查看所有数据库
语法:
show databases;
详细解释:
执行该语句后,MySQL 会返回当前服务器实例中所有已创建的数据库列表(包含系统库和自定义库)。系统库说明:MySQL 默认自带
information_schema(存储数据库元数据)、mysql(存储用户权限)、performance_schema(性能监控)、sys(简化性能分析)等系统库,这些库用于支撑 MySQL 运行,禁止随意修改或删除。应用场景:日常开发中,先执行该语句确认已有数据库,避免创建重复数据库,或快速定位目标数据库。
2. 创建数据库
创建数据库有'默认编码'和'指定编码'两种方式,编码选择直接影响后续数据存储的字符兼容性(如中文是否乱码)。
语法 1:使用默认编码创建
create database day01;
详细解释:
MySQL 8.0 及以上版本默认编码为
utf8mb4(兼容所有 Unicode 字符,包括 emoji 表情),MySQL 5.7 及以下版本默认编码为utf8(仅兼容部分 Unicode 字符)。适用场景:无特殊字符要求(如仅存储英文、数字、普通中文)时,可使用默认编码快速创建。
语法 2:指定编码创建
create database day02 charset 'gbk';
详细解释:
charset(全称character set)用于指定数据库的默认字符集,此处指定为gbk(适用于简体中文场景,兼容 GB2312)。注意事项:指定编码时,字符集名称需加单引号(部分版本不加也可,但加单引号是规范写法);gbk编码不支持 emoji 表情,若需存储特殊字符,优先选择utf8mb4。适用场景:对接老旧系统(如基于 GBK 编码的传统项目)时,需指定对应编码避免乱码。
3. 安全创建数据库(重点)
语法:
create database if not exists day01;
详细解释:
if not exists是'安全创建'的核心:先检查目标数据库是否存在,若不存在则创建,若已存在则不执行任何操作,且不会报错。对比普通创建:直接执行create database day01时,若 已存在,MySQL 会抛出 错误,导致脚本中断;而添加 后,脚本可正常执行。应用场景:编写自动化部署脚本、初始化数据库时,必须使用该语法,保证脚本的健壮性。


