MySQL 批量修改表名列名大小写
#MySQL#数据库
接手老库时经常会碰到表名列名大小写混乱的情况。手写 rename 语句太累,不如查 information_schema 让数据库自己生成一批 SQL,复制出来跑就行。
批量表名:大写改小写
SELECT
concat(
'rename table '
, TABLE_NAME
, ' to '
, LOWER(TABLE_NAME)
,' ;'
) AS 'SQL'
FROM
information_schema.TABLES t
WHERE
TABLE_SCHEMA = 'xxxxxx';
批量列名:大写改小写
SELECT
concat(
'alter table '
, TABLE_NAME
, ' change column '
, COLUMN_NAME
, ' '
, LOWER(COLUMN_NAME)
, ' '
, COLUMN_TYPE
, ' comment \''
, TRIM(REPLACE(REPLACE(REPLACE(REPLACE(COLUMN_COMMENT,',',':'),'"',''),CHAR(10),''),CHAR(13),''))
, '\''
, ' '
, IF(COLUMN_DEFAULT IS NULL, '', concat(' default \'',TRIM(COLUMN_DEFAULT),'\''))
, ';'
) AS 'SQL'
FROM
information_schema.COLUMNS t
WHERE
TABLE_SCHEMA = 'xxxxxx';
把 xxxxxx 换成你的库名,执行一遍拿到生成的 SQL,再贴到客户端里跑。