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 语句来完成。