MySQL ALTER DATABASE 语句
MySQL ALTER DATABASE 语句
MySQL 的 ALTER DATABASE 语句允许您修改/更改现有数据库的特性。
语法
以下是 ALTER DATABASE 语句的语法 -
ALTER DATABASE [database_name] alter_option ...
其中,database_name 是您需要更改的数据库的名称,此语句提供四个选项 -
CHARACTER SET - 此选项允许您更改数据库的默认字符集。
COLLATE - 此选项允许您更改数据库的排序规则。
ENCRYPTION - 此选项允许您启用 (Y) 或禁用 (N) 默认数据库加密。
ReadOnly - 使用此选项,您可以允许修改数据库及其中的对象 (0) 或将其设置为只读 (1)。
示例
假设我们创建了一个如下所示的数据库 -
CREATE DATABASE myDatabase;
以下查询将更改上述 create database 语句的字符集 -
ALTER DATABASE myDatabase CHARACTER SET= ascii;
您可以使用 SHOW CHARACTER SET 语句查看所有可用字符集的列表
更改排序规则
类似地,以下查询将更改名为 mydatabase 的数据库的排序规则 -
ALTER DATABASE mydatabase COLLATE utf8_general_ci;
您可以使用 SHOW COLLATION 语句查看所有可用排序规则的列表。
将数据库设置为只读
您可以使用以下查询将 mydatabase 设置为只读 -
ALTER DATABASE mydatabase READ ONLY = 1;
在一个查询中使用所有选项
您可以在一个查询中使用所有选项,如下所示 -
ALTER DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci ENCRYPTION = 'Y' READ ONLY = 1;
您可以验证已创建数据库的特性,如下所示 -
SHOW CREATE DATABASE mydatabase;
输出
以下是上述查询的输出 -
数据库 | 创建数据库 |
---|---|
mydatabase | CREATE DATABASE `mydatabase` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='Y' */ /* READ ONLY = 1 */ |