MySQL表字段批量修改SQL的实战技巧
MySQL中通过ALTER TABLE语句SQL用法,通过查询INFORMATION_SCHEMA生成批量修改SQL,适用于业务变更、字段优化和数据迁移等场景。
运行环境:
- Windows-10-BusinessEditions-22h2-x64、CentOS-7.9.2009-x64
- MySQL-5.7.44
1、ALTER TABLE 用法
官方关于ALTER TABLE语句的用法举例,供参考。

2、生成批量修改SQL
对于MySQL数据库中常见的情况需要批量修改字段:
- 业务需求变化:比如,某字段长度不够用,需要扩展。
- 字段可读性:比如,同名字段的意义一致,但字段备注不一致,对字段备注进行优化。
- 数据迁移:在数据迁移时,f需统一字段类型、默认值。
如下SQL语句 生成批量修改SQL:
SELECT
-- /*
a.TABLE_SCHEMA,
a.TABLE_NAME,
a.COLUMN_NAME,
a.COLUMN_COMMENT,
-- */
CONCAT('ALTER TABLE `',
a.TABLE_SCHEMA, -- 数据库名
'`.`',
a.TABLE_NAME, -- 表名
'` MODIFY COLUMN `', -- 修改字段
a.COLUMN_NAME, -- 字段名
'` ',
a.COLUMN_TYPE, -- 字段类型
" NULL DEFAULT '0' ", -- 允许为空、默认值为 0
"COMMENT '",
-- a.COLUMN_COMMENT, -- 字段备注
"新的字段备注';") AS 'SQL语句'
FROM INFORMATION_SCHEMA.COLUMNS a
WHERE a.COLUMN_NAME = 'status'
-- AND a.COLUMN_COMMENT LIKE '%字段备注%'
-- AND a.TABLE_SCHEMA LIKE '数据库名%'
AND a.TABLE_NAME IN (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE 'mall_%')
ORDER BY a.TABLE_SCHEMA, a.TABLE_NAME, a.COLUMN_NAME;生成结果:

3、实践总结
根据自己服务器操作系统,选择对应的MySQL数据库版本。


到此这篇关于MySQL表字段批量修改SQL的实战技巧的文章就介绍到这了,更多相关MySQL表字段批量修改SQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
关于mysql innodb count(*)速度慢的解决办法
innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量2012-12-12
mysql字符集引起的java.sql.SQLException:Incorrect string value:问题
文章主要介绍了在MySQL数据库中插入生僻字和emoji表情包时遇到的字符编码问题,解释了utf8和utf8mb4的区别,并提供了修改数据库编码格式和更改MySQL参数的解决方案2024-11-11
解决MySQL8.0报错Client does not support auth
本文主要介绍了解决MySQL8.0报错Client does not support authentication protocol requested by server...问题,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-05-05
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的
我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了2019-03-03
MySQL提示表不存在的解决error:1146:Table doesn‘t exist的原因和解决
在使用MySQL的过程中,有时会遇到“Table doesn't exist”(表不存在)的错误,错误代码通常为1146,这个问题可能由多种原因引起,本文将帮助你诊断和解决这个问题,如果遇到同样问题的小伙伴跟着小编一起来看看吧2024-12-12
解决MySQL添加新用户-ERROR 1045 (28000)的问题
这篇文章主要介绍了MySQL添加新用户-ERROR 1045 (28000)解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-03-03


最新评论