修改mysql所有表排序规则

Posted 浪子尘晨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改mysql所有表排序规则相关的知识,希望对你有一定的参考价值。

#改变字段数据
SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',COLUMN_NAME '字段',CHARACTER_SET_NAME '原字符集',COLLATION_NAME '原排序规则',CONCAT('ALTER TABLE ', TABLE_SCHEMA,'.',TABLE_NAME, ' MODIFY COLUMN ',COLUMN_NAME,' ',COLUMN_TYPE,' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') '修正SQL'
FROM information_schema.`COLUMNS` 
WHERE
   TABLE_SCHEMA RLIKE 'ndc_saas_uc'
   AND 	COLUMN_TYPE RLIKE 'varchar';
#修改表排序规则
SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',TABLE_COLLATION '原排序规则',CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.', TABLE_NAME, ' COLLATE=utf8mb4_general_ci;') '修正SQL'
FROM information_schema.`TABLES`
WHERE
	TABLE_SCHEMA RLIKE 'ndc_business_4028818d6c64e701016c658cab1e0000';

运行完之后,执行 “修改sql” 就可以了

以上是关于修改mysql所有表排序规则的主要内容,如果未能解决你的问题,请参考以下文章

Mysql:修改字符集和排序规则

查询以显示所有表及其排序规则

[MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段

MySQL:错误排序规则“正在使用”并且无法加载表

有没有办法将所有现有的表数据转换为 UTF8 排序规则?

Mysql 表排序规则改变