MySQL 选择数据库
MySQL 数据类型 

MySQL 修改数据库

在 MySQL 中,你不能直接修改数据库的基本属性(比如名称),最新版本的Mysql可以修改的包括字符集、校对规则、权限


1、修改数据库的字符集和校对规则

如果你需要修改数据库的字符集和校对规则,可以使用 ALTER DATABASE 语句。

ALTER DATABASE [数据库名] { 
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}

语法说明如下:

  • ALTER DATABASE 用于更改数据库的全局特性。

  • 使用 ALTER DATABASE 需要拥有数据库 ALTER 权限。

  • 数据库名称可以忽略,此时语句对应于默认数据库。

  • CHARACTER SET 子句用于更改默认的数据库字符集。


使用举例:

ALTER DATABASE db_name 
CHARACTER SET gb2312 
COLLATE gb2312_chinese_ci;

这里的 db_name 是你要修改的数据库的名称,gb2312 是你要设置的字符集,gb2312_chinese_ci 是你要设置的校对规则。请根据你的具体需求替换这些值。


mysql> show create database db_name;
+----------+------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                |
+----------+------------------------------------------------------------------------------------------------+
| db_name  | CREATE DATABASE `db_name` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+----------+------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> ALTER DATABASE db_name 
    -> CHARACTER SET gb2312 
    -> COLLATE gb2312_chinese_ci;
Query OK, 1 row affected (0.01 sec)
mysql> show create database db_name;
+----------+--------------------------------------------------------------------+
| Database | Create Database                                                    |
+----------+--------------------------------------------------------------------+
| db_name  | CREATE DATABASE `db_name` /*!40100 DEFAULT CHARACTER SET gb2312 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)


2、修改数据库的权限

如果你需要修改数据库的访问权限,比如给用户授予或撤销对数据库的访问权限,可以使用 GRANT 和 REVOKE 语句来完成。