• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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 SETSHOW 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设置的默认加密设置。有关更多信息,请参见为架构和常规表空间定义加密默认值。