ALTER DATABASE语句
ALTER {DATABASE |SCHEMA } [db_name] alter_specification ... alter_specification: [DEFAULT ]CHARACTER SET [=] charset_name | [DEFAULT ]COLLATE [=] collation_name |DEFAULT ENCRYPTION [=] {'Y' | 'N'}
ALTER DATABASE使您可以更改数据库的总体特征。这些特征存储在数据字典中。要使用ALTER DATABASE,您需要ALTER数据库特权。ALTER SCHEMA是的同义词ALTER DATABASE。
可以从第一种语法中省略数据库名称,在这种情况下,该语句适用于默认数据库。
民族语言特征
该CHARACTER SET子句更改默认数据库字符集。该COLLATE子句更改默认数据库排序规则。字符集,归类和Unicode,讨论了字符集和归类名称。
您可以分别使用SHOW CHARACTER SET和SHOW COLLATION语句参见可用的字符集和排序规则。有关更多信息,请参见“ SHOW CHARACTER SET语句”和“ SHOW COLLATION语句”。
如果更改数据库的默认字符集或排序规则,则必须删除并重新创建使用数据库默认值的存储例程,以便它们使用新的默认值。(在存储的例程中,如果未明确指定字符集或排序规则,则具有字符数据类型的变量将使用数据库默认值。请参见“ CREATE PROCEDURE和CREATE FUNCTION语句”。)
加密
DEFAULT ENCRYPTIONMySQL 8.0.16中引入的子句定义了默认的数据库加密,该默认加密由数据库中创建的表继承。更改数据库的默认加密不会更改与模式关联的现有表的加密。只有新创建的表才能继承默认的数据库加密。一个ALTER DATABASE没有执行的语句DEFAULT ENCRYPTION子句保留现有的默认数据库加密。如果table_encryption_privilege_check启用了变量,TABLE_ENCRYPTION_ADMIN则需要特权来指定不同于该default_table_encryption设置的默认加密设置。有关更多信息,请参见为架构和常规表空间定义加密默认值。
