MySQL 连接
MySQL 选择数据库 

MySQL 创建数据库

在 MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下:

CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>] 
[[DEFAULT] COLLATE <校对规则名>];

[ ]中的内容是可选的。语法说明如下:

  • <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。

  • IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。

  • [DEFAULT] CHARACTER SET:指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。

  • [DEFAULT] COLLATE:指定字符集的默认校对规则。


使用示例:

1、创建一个名为db_name的数据库

CREATE DATABASE db_name;

2、创建一个名为db_name的数据库,如果已经存在同名数据则跳过

CREATE IF NOT EXISTS DATABASE db_name;

3、创建一个名为db_name的数据库,并指定字符集为utf8mb4

CREATE DATABASE db_name DEFAULT CHARACTER SET utf8mb4;

4、创建一个名为db_name的数据库,并指定字符集为utf8mb4、校对规则为utf8mb4_unicode_ci;

CREATE DATABASE db_name DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;


数据库创建成功以后,可以使用show databases语句查询所有数据库,以验证数据库是否创建成功。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_name            |

常用字符集

  • utf8: Unicode的字符集,支持1到3个字节的字符,用于存储大部分的字符集。

  • utf8mb4: 四字节的 UTF-8 编码,支持存储更广泛的字符集,包括 Emoji 表情符号等。

  • latin1: 拉丁字母字符集,支持西欧语言。

  • binary: 二进制字符集,适合存储二进制数据。


常用排序规则

  • CI:不区分大小写(case-insensitive),例如 utf8mb4_unicode_ci。

  • CS:区分大小写(case-sensitive),例如 utf8mb4_unicode_cs。

  • AI:不区分重音符号(accent-insensitive),例如 utf8mb4_unicode_ai。

  • AS:区分重音符号(accent-sensitive),例如 utf8mb4_unicode_as。


注意事项

  • 权限: 确保你的 MySQL 用户有足够的权限来创建数据库。通常情况下,具有 CREATE 权限的用户可以执行此操作。

  • 命名规范: 数据库名称可以使用字母、数字、下划线和短划线,但不推荐使用特殊字符或空格。

  • 错误处理: 如果出现错误(例如权限不足或数据库名称已存在),MySQL 会返回相应的错误消息。