Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 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 数据目录下的目录。关于 permissible 数据库名称的规则见第11.2节,“Schema Object Names”。如果数据库名称包含特殊字符,那么数据库目录名称将包含根据第11.2.4节,“Mapping of Identifiers to File Names”中描述的编码版本。

手动在数据目录下创建数据库目录(例如,使用mkdir)在 MySQL 8.4 中是不可支持的。

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

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

你也可以使用mysqladmin 程序创建数据库。见第6.5.2节,“mysqladmin — A MySQL Server Administration Program”