公司进行代码迁移,表结构从巨杉数据库导出sql文件直接导入,字符编码使用utf8mb4_general_bin(字符串每个字符用二进制数据编译存储,区分大小写),导致数据库查询大小写敏感,影响用户查询体验,经网上查找,发现执行下面sql,可快速生成批量修改整库所有表字符集的sql,执行批量修改sql后可修改整库所有表的字符集为utf8mb4_general_ci,大小写不敏感,真实可用,特此记录
SELECT
CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;")
AS target_tables
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="库名"
AND TABLE_TYPE="BASE TABLE";