一、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. 重要操作前备份数据

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)