批量生成所有表的修改脚本

1、-- 请将 'your_database_name' 替换为你的真实数据库名

SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS alter_sql

FROM information_schema.TABLES

WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_TYPE = 'BASE TABLE';

2、-- 请将 'your_database_name' 替换为你的真实数据库名,过滤表名

SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS alter_sql

FROM information_schema.TABLES

WHERE TABLE_SCHEMA = 'your_database_name'

AND TABLE_TYPE = 'BASE TABLE'

AND TABLE_NAME LIKE 'dry\%' ESCAPE '\'; -- 匹配以 dry 开头的表

3、修改字段

-- 请将 'your_database_name' 替换为你的真实数据库名

SELECT CONCAT(

'ALTER TABLE `', TABLE_NAME, '` MODIFY `', COLUMN_NAME, '` ',

COLUMN_TYPE,

' CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci',

IF(IS_NULLABLE = 'NO', ' NOT NULL', ''),

IF(COLUMN_DEFAULT IS NOT NULL, CONCAT(' DEFAULT ''', COLUMN_DEFAULT, ''''), ''),

';'

) AS alter_sql

FROM information_schema.COLUMNS

WHERE TABLE_SCHEMA = 'your_database_name'

AND DATA_TYPE IN ('varchar', 'char', 'text', 'tinytext', 'mediumtext', 'longtext');

相关推荐
ltl1 小时前
RocksDB 并发 Compaction 与 Rate Limiter
数据库
闻道且行之3 小时前
图片处理助手|泊松融合原理 + C++ 工程实现,seamlessClone 三模式一次讲透
数据库·c++·人工智能·opencv
夏炳辉.3 小时前
PostgreSQL 高可用集群核心配置参数全解:从原生流复制到 Patroni 企业级方案
数据库·postgresql
努力的小雨4 小时前
KES 开启 SSL 前,证书、端口和客户端要一起验
数据库
DevOps老兵4 小时前
AI全栈知识07:向量数据库 - Milvus/Chroma实战
数据库·ai·milvus
这个DBA有点耶4 小时前
当数据库从“存储”走向“决策”:金仓数据库的融合架构之路
数据库·架构·aigc
smilejingwei5 小时前
Trae+SQLazy 实践 SQL 国产化移植:Oracle => 达梦
数据库·sql·oracle
意疏6 小时前
2026年远控软件安全横评:六款主流工具逐项核查——官方文档、一手实测与安全事件,全摊开
大数据·前端·数据库
名不经传的养虾人6 小时前
从0到1:企业级AI项目迭代日记 Vol.90|Agent变快了,Judge定下来了
大数据·数据库·人工智能·ai编程·企业ai
冰之杍6 小时前
MySQL utf8mb3 → utf8mb4 完整修改方案
数据库·mysql