一、表字段修复:

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 COLLATION_NAME RLIKE 'latin1';

latin1 是我demo的模糊匹配排序规则,这里需要替换为你数据库中需要替换的字段的排序规则,utf8mb4设置的是替换的字符集,utf8mb4_general_ci设置的是替换的排序规则,可以换为需要修正为什么标准,下面是SQL跑出来的样例。

把修正的SQL复制出来运行,字段标准就修复了。

ALTER TABLE scm_users.users MODIFY COLUMN password varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN address varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN country varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN postal_code varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN contact_person varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN contact_no varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN mobile varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN email varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.contact MODIFY COLUMN remark text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.warehouse MODIFY COLUMN warehouse_no varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.warehouse MODIFY COLUMN name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.warehouse_category MODIFY COLUMN name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.warehouse_op_hours MODIFY COLUMN start_time varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE scm_warehouse.warehouse_op_hours MODIFY COLUMN end_time varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

二、表修复:

改变表

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_COLLATION RLIKE 'latin1';

表修复只需要设置排序规则,字符集会自动设置到正确的标准,替换的话,跟上面一样,下面是SQL跑出来的样例。

把SQL复制出来运行,表就会修复了

三、 数据库修复:

#修改数据库
SELECT SCHEMA_NAME '数据库',DEFAULT_CHARACTER_SET_NAME '原字符集',DEFAULT_COLLATION_NAME '原排序规则',CONCAT('ALTER DATABASE ',SCHEMA_NAME,' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') '修正SQL'
FROM information_schema.`SCHEMATA`
WHERE DEFAULT_CHARACTER_SET_NAME RLIKE 'utf8';

作者:李飞_fd28
链接:https://www.jianshu.com/p/107aa90dc41b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

MySQL 批量修改库、表、列的排序规则相关推荐

  1. MySQL 批量修改数据库的字符集和排序规则

    推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...

  2. MySQL批量修改库、表、列的排序规则

    目录 一.排序规则修改 1.表字段修改 2.表修改 3.数据库修改 一.排序规则修改 1.表字段修改 SELECTTABLE_SCHEMA '数据库',TABLE_NAME '表',COLUMN_NA ...

  3. MySQL默认库可以删_个人总结:Sql(一:创建删除修改库表||附:mysql数据类型及默认值)...

    个人总结:Sql(一:创建&删除&修改库&表||附:mysql数据类型及默认值)createdatabasecreate tablealterdatabasealtertabl ...

  4. mysql批量修改学号位数_mysql批量修改表前缀

    如何快速批量修改文件名我们有时候在网页上,下载了好多自己喜欢的图片,一个个修改太麻烦了,想要快速 批量的修改文件名,其实,在你的 Windows 电脑上批量修改文件名...... 如何在 WPS 表格 ...

  5. MySQL 批量修改表名

    MySQL 批量修改表名 1.执行查询SQL 2.执行修改SQL 功能: 将数据库 jeecg-boot 中的表名前缀是 ACT_ 开头的表名替换为 CAMUNDA_ACT_ 1.执行查询SQL -- ...

  6. mysql批量修改表名或前缀

    一般用于批量修改数据表前缀 先查询所有表名,复制到编辑器 SELECTtable_name FROMinformation_schema.TABLES WHEREtable_schema = 'db_ ...

  7. mysql批量修改表名、删除表

    mysql批量修改表名 第一步:得到所有需要修改的表名和对于得修改表名语句 SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', REPL ...

  8. mysql数据库表更改排序_修改SQL数据库排序规则修改表栏位排序规则

    修改SQL数据库排序规则修改表栏位排序规则 修改SQL数据库排序规则: 1.修改为单用户模式 2.然后关闭所有的查询窗口,修改Options的Collocation属性,如:Chinese_PRC_9 ...

  9. 十五. 实战——mysql建库建表 字符集 和 排序规则

    1. 字符集和排序规则 字符集 当数据库需要适应不同的语言就需要有不同的字符集,如果不指定字符集的话,那么就会使用数据库的默认的字符集,每种字符集都有自己默认的排序规则.mysql默认字符集为utf8 ...

最新文章

  1. 快速构建Windows 8风格应用6-GridView数据控件
  2. python爬虫获取的网页数据为什么要加[0-Python爬虫实战1-解决需要爬取网页N秒后的内容的需求...
  3. 论文笔记——PRUNING FILTERS FOR EFFICIENT CONVNETS
  4. 大数据洞察画像自动化实践
  5. 异常与锁的释放(synchronized )
  6. 逆向工程核心原理学习笔记(四):检索API方法2-设置断点
  7. 【算法导论】归并排序
  8. css span 右端对齐_CSS标准文档流
  9. windows 2008服务器还原系统,windows 2008服务器系统
  10. 游戏开发 打造基于Excel表格数据驱动系统
  11. Pytorch:目标检测网络-人体关键点检测
  12. 北京邮电大学计算机专业录取名单,祝福!“跪地谢母”考生被北京邮电大学计算机类专业录取...
  13. 什么是DTU?DTU的作用是什么?
  14. Linux 返回根目录
  15. CTF-SQL注入入门题型
  16. Go 调用 Java 方案和性能优化分享
  17. 大规模手机定位采集系统设计
  18. Vue组件——数字滚动抽奖效果
  19. Vuforia 虚拟按钮(Unity 2020)
  20. 接入层交换机、分布层交换机、核心层交换机

热门文章

  1. js实现查找两个相同字符串之间的最长子字符串长度
  2. 点击input时,不显示边框!
  3. 一文彻底搞懂BP算法:原理推导+数据演示+项目实战(下篇)
  4. 【BIB文献管理】LATEX使用bib
  5. 通讯录查询系统的设计与实现
  6. 碳基计算机电路,碳基CMOS集成电路技术
  7. 计算机毕业实习报告范文,大学计算机专业毕业实习报告范文
  8. PHP定时任务 - PHP自动定时循环执行任务实例代码
  9. 一名IT界“老”技术人关于学习与成长的分享,受益!
  10. 从多个PDF中快速搜索字符串