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数据库版本。


附录:

相关推荐
catchadmin2 小时前
2026 年 PHP 函数式编程 优势与实际应用
数据库·php
roman_日积跬步-终至千里2 小时前
【SQL】SQL 语句的解析顺序:理解查询执行的逻辑
java·数据库·sql
ascarl20102 小时前
达梦与 Oracle 的关系及数据库架构差异
数据库·oracle·数据库架构
Mao.O2 小时前
Redis三大缓存问题及布隆过滤器详解
数据库·redis·缓存
悟能不能悟2 小时前
在Oracle中,包分为包头(PACKAGE)和包体(PACKAGE BODY),存储过程的实现代码在包体中。以下是几种查找方法
数据库·oracle
铉铉这波能秀2 小时前
如何在arcmap中将shp等文件类型导出为表格(四种方法)
数据库·arcgis·数据分析·arcmap·地理信息·shp
曲幽2 小时前
告别重复劳动:SQL Server存储过程实战手册,从入门到高效协作
sql·select·cursor·declare·trigger·procedure
廋到被风吹走2 小时前
【数据库】【Redis】缓存监控体系深度解析:从 BigKeys 到慢查询
数据库·redis·缓存
独隅2 小时前
Linux 正则表达式 的简介
linux·mysql·正则表达式