0%

在MySQL中修改表和列的排序规则

使用如下SQL语句即可更新一张表的字符集(character set)和排序规则(collation):

1
2
-- 此处假设使用utf8字符集,以及使用utf8_unicode_ci排序规则
ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

然后可以使用如下SQL查询表和列的字符集和排序规则是否修改成功:

1
2
3
4
5
6
7
8
9
-- 查询表的信息
SELECT `TABLE_SCHEMA`, `TABLE_NAME`, `TABLE_COLLATION`
FROM `information_schema`.`TABLES`
WHERE `TABLE_NAME` = 'table_name';

-- 查询表中每个列的信息
SELECT `TABLE_SCHEMA`, `TABLE_NAME`, `COLUMN_NAME`, `COLLATION_NAME`
FROM `information_schema`.`COLUMNS`
WHERE `TABLE_NAME` = 'table_name';