创建{database |架构} [如果不存在]db_name.[create_option)……create_option:[默认]{字符集[=]charset_name|核对(=)collation_name.|加密[=] {'y'|'n'}}
创建数据库
用给定的名称创建一个数据库。要使用这个语句,您需要创建
数据库的特权。创建模式
是同义词吗创建数据库
.
如果数据库存在而您没有指定,则会发生错误如果不存在
.
每一个create_option
指定数据库特征。数据库特征存储在数据字典中。
的
字符集
选项指定默认的数据库字符集。的整理
选项指定默认的数据库排序规则。有关字符集和排序规则名称的信息,请参见第十章,字符集,排序规则,Unicode.要查看可用的字符集和归类,请使用
显示字符集
和显示排序
语句,分别。看到第13.7.7.3节,“SHOW CHARACTER SET Statement”,第13.7.7.4节,“SHOW COLLATION Statement”.的
加密
选项,在MySQL 8.0.16中引入,定义了默认的数据库加密,它被在数据库中创建的表继承。允许的值是“Y”
(启用加密)和“N”
(加密禁用)。如果加密
选项的值default_table_encryption
系统变量定义了默认数据库加密。如果table_encryption_privilege_check.
系统变量已启用,则TABLE_ENCRYPTION_ADMIN
属性指定的默认加密设置default_table_encryption
设置。有关更多信息,请参见定义模式和通用表空间的默认加密.
MySQL中的数据库实现为包含与数据库中的表对应的文件的目录。因为数据库中没有表格在最初创建时,所以创建数据库
语句只在MySQL数据目录下创建一个目录。中给出了允许的数据库名称的规则第9.2节,“架构对象名称”.如果数据库名称包含特殊字符,则数据库目录的名称包含这些字符的编码版本,如中所述章节9.2.4,“标识符到文件名的映射”.
通过手动创建数据目录下的目录(例如,使用mkdir)在MySQL 8.0中不支持。
创建数据库时,让服务器管理目录和其中的文件。直接操作数据库目录和文件可能会导致不一致和意外的结果。
MySQL没有数据库数量的限制。底层文件系统可能对目录的数量有限制。
也可以使用mysqladmin程序创建数据库。看到mysqladmin -一个MySQL服务器管理程序.