mysql表结构不相同表导出和导入

两库某表,字段总数相同,但字段顺序不同,导出和导入数据时,存在这个情况就不能直接导入,需要处理。
A、原表device表:    col1、col2、col3、col4、col5..col6、col7
B、目标表device表:col1、col2、col6、col7、col3..col4、col5


1、首先导出原表数据:

mysqldump -t db_name -uuser -puserpasswd  --socket=/test/mysql/mysql.sock  --default-character-set=gbk--tablesdevice>device.sql &

导出文件insert语句如下:

INSERTINTO `device` VALUES (1,'北京test1'。。。。)


2、Insert时可以指定所要插入数据的列 INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) ,所以利用方法导入。


3、按照原表device字段顺序整理出insert into 语句:

INSERT INTO table_name (列1, 列2,列3, 列4, 列5, 列6, 列7)  values

4、在导出文件搜索有几处需要替换,一定先搜索,以免遗漏

INSERTINTO `device` VALUES 替换成 INSERT INTO table_name (列1, 列2,列3, 列4, 列5, 列6, 列7) VALUES 

5、指定导入:

mysql -uuser -puserpasswd --socket=/test/mysql/mysql.sock -D db_name<device.sql &>import-device.log 


备注: -c 参数

导出时在insert中增加字段,这样对于原表和目标表的结构不同时很有用:mysqldump -t db_name -uuser -ppasswd --socket=/test/mysql/mysql.sock --default-character-set=gbk --tables         device  –c > device2.sql&


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>