一、CREATE DATABASE 基本语法
CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>]
[[DEFAULT] COLLATE <校对规则名>];
二、参数说明
参数/选项 | 说明 |
---|---|
<数据库名> | 必须符合操作系统文件夹命名规则,建议有意义且不以数字开头 |
IF NOT EXISTS | 避免重复创建的错误,只在数据库不存在时执行创建 |
CHARACTER SET | 指定数据库字符集(防止数据乱码) |
COLLATE | 指定字符集的校对规则(定义字符串比较方式) |
三、创建示例
1. 简单创建
CREATE DATABASE test_db;
执行成功提示:
Query OK, 1 row affected (0.12 sec)
Query OK:执行成功
1 row affected:影响一行记录
0.12 sec:执行时间
2. 避免重复创建
CREATE DATABASE IF NOT EXISTS test_db;
3. 指定字符集和校对规则
CREATE DATABASE IF NOT EXISTS test_db_char
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
四、查看数据库定义
SHOW CREATE DATABASE test_db_char;
输出示例:
Database Create Database test_db_char CREATE DATABASE `test_db_char` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ 1 row in set (0.00 sec)
五、字符集与校对规则要点
1. 现代MySQL推荐使用utf8mb4而非utf8(完整支持emoji等4字节字符)
2. 常用校对规则:
`utf8mb4_unicode_ci`:基于Unicode标准排序(推荐)
`utf8mb4_general_ci`:简单校对规则(性能略高但不精确)
`utf8mb4_bin`:二进制比较(区分大小写)
3. 查看可用字符集:
SHOW CHARACTER SET;
4. 查看校对规则:
SHOW COLLATION WHERE Charset = 'utf8mb4';
六、最佳实践
1. 总是使用`IF NOT EXISTS`避免错误
2. 明确指定字符集和校对规则(推荐utf8mb4)
3. 数据库命名采用小写+下划线风格(如`order_system`)
4. 重要操作前备份数据
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程