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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论