前言
数据库对象的管理是构建系统的基础,其中库级别的数据定义语言(DDL)操作尤为关键。掌握如何安全地创建、配置及清理数据库,是每一位开发者必须具备的技能。
本文将重点讲解以下内容:
- 创建数据库的规范语法与安全策略
- 字符集与校对规则的配置影响
- 数据库的查看、修改与删除操作
- 连接状态监控与常见陷阱规避
1. 创建数据库
1.1 基础语法
CREATE DATABASE [IF NOT EXISTS] db_name
[create_specification [,create_specification] ...];
其中 create_specification 通常用于指定字符集和校对规则。对于初学者,建议先掌握最简形式,再逐步扩展参数。
1.2 最简单的创建方式
CREATE DATABASE boke_1;
这条命令会创建一个名为 boke_1 的数据库。但直接执行存在风险:如果该数据库已存在,服务器将报错并中断脚本执行。在自动化部署场景中,这可能导致后续流程失败。因此,生产环境建议使用容错机制。
1.3 第一道防线:防止重复创建
使用 IF NOT EXISTS 子句可以确保脚本的可重复执行性。
CREATE DATABASE IF NOT EXISTS boke_1;
当数据库已存在时,此语句不会执行任何操作也不会报错;若不存在则自动创建。这是编写初始化脚本时的标准做法。
1.4 第二道防线:字符集与校对规则
数据存储的语言环境和排序逻辑由字符集(Character Set)和校对规则(Collation)决定。例如,存储中文或 Emoji 表情通常需要 utf8mb4,而字符串比较是否区分大小写则由校对规则控制。
utf8mb4_general_ci:不区分大小写(case-insensitive)utf8mb4_bin:区分大小写(binary)
完善后的创建语句如下:
CREATE DATABASE IF NOT EXISTS boke_1
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
这样既保证了安全性,又明确了数据编码规范。当然,如果 MySQL 服务端已配置了全局默认值,也可以省略这些参数以简化语句。
2. 字符集与校对规则管理
2.1 查看系统默认设置
可以通过以下变量查看当前会话或系统的默认字符集:
SHOW VARIABLES LIKE 'character_set_database';
VARIABLES ;


