批量更新数据库表以及表字段编码
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‘ );
以上是关于批量更新数据库表以及表字段编码的主要内容,如果未能解决你的问题,请参考以下文章
两个表,根据条件批量更新其中一个表的某一列数据。(高分求救,在线等待。)
mysql 数据库表批量更新,需要set的数据是另一个表中的字段