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


附录:

相关推荐
AllData公司负责人26 分钟前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe21 小时前
数据库备份的分类与特点
数据库
时间的拾荒人4 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠5 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__6 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行3507 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
星恒随风10 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下12 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck13 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
AllData公司负责人13 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析