MySQL表字段批量修改SQL实战技巧

MySQL中通过ALTER TABLE语句SQL用法,通过查询INFORMATION_SCHEMA生成批量修改SQL,适用于业务变更、字段优化和数据迁移等场景。

目录

[1、ALTER TABLE 用法](#1、ALTER TABLE 用法)

2、生成批量修改SQL

3、实践总结


运行环境:

1、ALTER TABLE 用法

官方关于ALTER TABLE语句的用法举例,供参考。

2、生成批量修改SQL

对于MySQL数据库中常见的情况需要批量修改字段:

  • 业务需求变化:比如,某字段长度不够用,需要扩展。
  • 字段可读性:比如,同名字段的意义一致,但字段备注不一致,对字段备注进行优化。
  • 数据迁移:在数据迁移时,f需统一字段类型、默认值。

如下SQL语句 生成批量修改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数据库版本。


附录:

相关推荐
yanwumuxi10 小时前
【数据库系列】opensearch数据备份和恢复
数据库
anxiao_m10 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库
SelectDB10 小时前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单(实战笔记)
大数据·数据库·数据分析
这个DBA有点耶10 小时前
非关系型数据库到底有几种?键值、文档、列族、图,一篇讲透
mysql·架构·nosql
SelectDB10 小时前
Doris 还是 ClickHouse?一张表说清 6 个关键差异(实战笔记)
大数据·数据库·数据分析
oradh11 小时前
Oracle Undo问题总结(两类Undo表空间不足和单个会话占用大量Undo的性能问题)
数据库·oracle
企业数字化笔记11 小时前
固定资产财务账与实物账怎么对账?折旧快照、差异检测与SQL核对
android·数据库·sql
DBA_G11 小时前
GBase 8a表空间多路径存储数据迁移链路适配解析
数据库·oracle
java1234_小锋11 小时前
Tornado 6.5,全面支持 Python 3.14
数据库·python·tornado
jyOverQ11 小时前
MySQL 事务到底是什么?ACID 四大特性与隔离级别怎么理解?
数据库·mysql