批量修改mysql数据表的字段名大写转为小写语句
feilong.org 修订于2021-10-17 06:14:14 360 次浏览批量修改mysql数据表的字段名大写转为小写语句
在oracle数据库的数据表字段名都是大写的。现在此数据库进行迁移到mysql数据库。怎么自动转oracle数据表为mysql数据表呢?
方法是:用Navicat软件的工具-数据传输,
生成的数据表的字段名都是大写的。
而且,凡是 字段类型为decimal的地方,都需要把它改为int或tinyint或smallint
这都还是能容忍的。但是mysql数据表字段名,如果习惯了小写字段名,那怎么把数据表的字段名批量改为小写字母呢?
最简单的方法,当然是用Navicat的设计表,一个字段一个字段的改大写字母为小写字母。但如果字段数量多的话,这个办法肯定是不适用的。
那稍微转弯的方法,是
先把数据表的结构用Navicat转储为sql文件。
然后用notepad++等记事本软件,打开sql文件,批量替换大写为小写。
然后用navicat导出,把数据表导出为txt文件。
然后,导入数据结构,
租后,导入数据。
不过这种方法比较繁琐。
而且,如果表数据大的话,txt文件往往打不开,所以也不适用。
那么,把mysql数据表的字段名改为小写,有没有其它办法呢?
飞龙今天尝试了一下,总结为此文章。修改日志网址:https://feilong.org/mysql-upper-lower-columns-ways-oracle
比如我 mysql数据库,名字叫 dbcai
数据表,名字叫 udasset2
于是,批量执行以下的sql语句就行了。
--批量生成sql语句
--先批量生成此数据表的修改字段名的sql语句
SELECT concat(
'alter table ', TABLE_NAME,
' change ', COLUMN_NAME, ' ',
LOWER( COLUMN_NAME ), ' ',
COLUMN_TYPE, ' ',
' comment ''', COLUMN_COMMENT, ''';'
) AS '飞龙批量生成修改mysql数据表字段名为小写的sql语句,然后复制为,租后执行这些sql语句'
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'dbcai' AND TABLE_NAME = 'udassetaccountbook';
--再看看生成的单个字段的语句系列如下
alter table persongroup change persongroupid persongroupid int(11) comment '';
alter table persongroup change persongroup persongroup varchar(80) comment '';
alter table persongroup change description description varchar(100) comment '名称';
--最后,执行生成的语句就可以了。
只需修改数据库名和数据表名就行了。
有疑问请联系飞龙本人。20211017总结于广州
更新网址:https://feilong.org/mysql-upper-lower-columns-ways-oracle
最初发布:20211017 04:24:20 feilong.org 于广州
加入收藏夹,查看更方便。
所在分类: mysql 教程