码迷,mamicode.com
首页 > 数据库 > 详细

批量更新数据库表以及表字段编码

时间:2020-02-29 22:09:03      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:arc   concat   lte   nbsp   select   arch   case   alter   info   

查询需要更新编码的表,并生成相应的更新SQL

SELECT CONCAT(ALTER TABLE , table_name,  CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = db_name and TABLE_COLLATION != utf8_bin

查询需要更新编码的表字段,并生成相应的更新SQL

SELECT CONCAT(ALTER TABLE `, table_name, ` MODIFY `, column_name, ` , DATA_TYPE, (, CHARACTER_MAXIMUM_LENGTH, ) 
CHARACTER SET UTF8 COLLATE utf8_bin
, (CASE WHEN IS_NULLABLE = NO THEN NOT NULL ELSE ‘‘ END), ;) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = db_name AND DATA_TYPE = varchar AND ( CHARACTER_SET_NAME != utf8 OR COLLATION_NAME != utf8_general_ci );

 

批量更新数据库表以及表字段编码

标签:arc   concat   lte   nbsp   select   arch   case   alter   info   

原文地址:https://www.cnblogs.com/rhyheart/p/12386412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!