从结构信息中读取表的列信息,并用语句拼装sql,复制后在脚本中执行。
优化的是一个表只需执行一次DDL,大表执行一次即可,提升性能。
SELECT CONCAT('alter table',' test1') as sqlstr
UNION all
SELECT
concat( ' change column ', COLUMN_NAME, ' ', LOWER( COLUMN_NAME ), ' ', COLUMN_TYPE,' COMMENT ','\'',COLUMN_COMMENT,'\'',
if (IS_NULLABLE='NO',' NOT NULL ',' '),if(COLUMN_DEFAULT is null,'',concat(' DEFAULT ','\'',COLUMN_DEFAULT,'\'')),','
) AS sqlstr
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'test11' and TABLE_NAME='test1'
将执行完的sql复制后食用,
最后一个逗号改为分号。
例子:
alter table test1
change column Id id varchar(20) COMMENT '' NOT NULL ,
change column Name name varchar(255) COMMENT '';