文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  CREATE DATABASE 语句

15.1.12 CREATE DATABASE 语句

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_option] ...

create_option: [DEFAULT] {
    CHARACTER SET [=] charset_name
  | COLLATE [=] collation_name
  | ENCRYPTION [=] {'Y' | 'N'}
}

CREATE DATABASE 创建一个具有给定名称的数据库。要使用此语句,您需要对该数据库具有 CREATE 权限。 CREATE SCHEMACREATE DATABASE 的同义词。

如果数据库存在并且您没有指定 IF NOT EXISTS,则会发生错误。

CREATE DATABASE 不允许在具有活动 LOCK TABLES 语句的会话中使用。

每个 create_option 指定一个数据库特性。数据库特性存储在数据字典中。

MySQL 中的数据库实现为一个目录,该目录包含与数据库中的表相对应的文件。由于在初始创建时数据库中没有表,因此 CREATE DATABASE 语句仅在 MySQL 数据目录下创建一个目录。有关允许的数据库名称规则,请参阅 第 11.2 节,“模式对象名称”。如果数据库名称包含特殊字符,则数据库目录的名称包含这些字符的编码版本,如 第 11.2.4 节,“标识符到文件名的映射” 中所述。

在 MySQL 9.0 中,不支持通过手动创建数据目录下的目录(例如,使用 mkdir)来创建数据库目录。

创建数据库时,让服务器管理目录及其中的文件。直接操作数据库目录和文件可能会导致不一致和意外结果。

MySQL 对数据库数量没有限制。底层文件系统可能对目录数量有限制。

您也可以使用 mysqladmin 程序来创建数据库。请参阅 第 6.5.2 节,“mysqladmin — MySQL 服务器管理程序”