mysql如何把两张表合并为一张表_mysql多表合并为一张表

本文介绍了如何在MySQL和Oracle中将多张表合并成一张表,并在大量数据下实现去重操作。在MySQL中,通过select into outfile导出数据,然后LOAD DATA INFILE导入并使用replace参数去重。在Oracle中,使用sqlldr工具导入数据,随后执行删除重复行的SQL语句。
摘要由CSDN通过智能技术生成

有人提出要将4张表合并成一张。数据量比较大,有4千万条数据。有很多重复数据,需要对某一列进行去重。

数据量太大的话,可以看我另外一篇:http://www.cnblogs.com/magmell/p/8941338.html

mysql:思路:

1、导出数据。select into outfile。

2、传输到要导入数据的服务器上。

3、创建一张新表,主键和约束等与那三张表一样。

4、LOAD DATA INFILE导入。利用replace参数进行覆盖达到去重的目的。

LOAD DATA INFILE '/backup/tbl_get.csv' replace INTO TABLE emob.tbl_new;

LOAD DATA INFILE '/backup/tbl_jue.csv' replace INTO TABLE emob.tbl_new;

LOAD DATA INFILE '/backup/tbl_ors.csv' replace INTO TABLE emob.tbl_new;

全部导入后,对其去重:

select * from tbl_new awhere a.imgi in(select imgi from tbl_new group by imgi having count(imgi)>1);

oracle:

通过sqlldr工具导入:

1、创建一张表,表中不要有任何约束。

2、先写一个load_ora.ctl文件,内容:

unrecoverable        #不产生日志

load data

infile &

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值