MySQL 修改数据库和表中的字段编码

从 MySQL 8.0 开始, utf8mb4 是默认字符集, utf8mb4 的默认排序规则是 utf8mb4_0900_ai_ci。MySQL 8.0 还为 utf8mb4 字符集提供了一整套新的 Unicode 排序规则。

这将允许在 MySQL 中使用完整的 Unicode 9.0.0 字符集。

MySQL 5.7 以下版本在创建数据库时, 如果选择了 UTF-8 (utf8mb4) 编码格式, 但在使用 PDM 生成的脚本导入后发现表和字段的编码格式却是 GBK, 可以通过以下几种方法进行修改。

修改表的默认编码格式

作用: 修改表的默认字符集为 UTF-8 (utf8mb4)。

注意: 这只会影响新添加的字段, 现有字段的编码格式不会改变。

ALTER TABLE `table` DEFAULT CHARACTER SET utf8mb4;

修改字段的编码格式

作用: 单独修改某个字段的编码格式为 UTF-8 (utf8mb4)。

缺点: 每次只能修改一个字段, 操作繁琐。

ALTER TABLE `tablename` CHANGE `Name1` `Name2` VARCHAR(36) CHARACTER SET utf8mb4 NOT NULL;

一次性修改整张表的所有字段编码格式

作用: 将整张表的所有字段的编码格式更改为 UTF-8 (utf8mb4)。

优点: 方便快捷, 适用于需要批量修改字段编码格式的场景。

ALTER TABLE `tablename` CONVERT TO CHARACTER SET utf8mb4;

原文

MySQL 8.0 Collations: Migrating from older collations
mysql修改数据库表和表中的字段的编码格式的修改

最后更新于 2018-09-10
使用 Hugo 构建
主题 StackJimmy 设计
时间过了 2.5 年