Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  CREATE DATABASE Statement

15.1.12 创建数据库语句

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 8.3 中,不支持手动创建数据库目录(例如,使用 mkdir)。

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

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

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