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

Posted rhyheart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量更新数据库表以及表字段编码相关的知识,希望对你有一定的参考价值。

查询需要更新编码的表,并生成相应的更新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 );

 

以上是关于批量更新数据库表以及表字段编码的主要内容,如果未能解决你的问题,请参考以下文章

oracle 如何实现对单个表批量更新

两个表,根据条件批量更新其中一个表的某一列数据。(高分求救,在线等待。)

mysql 数据库表批量更新,需要set的数据是另一个表中的字段

mysql 数据库表批量更新,需要set的数据是另一个表中的字段

批量更新mysql表数据

oracle批量更新的问题