数据库操作,将一个表的数据批量插入另一个表

由于一次失误,在B表中忘记插入一些数据,需要在A表中导出大量数据,再批量插入B表中。仅是一次性操作,在ide写代码也可以,但并不划算。这里有个问题,就是B表的key值是varchar类型的,不能自增!如果是int,可以自增,直接将A表中需要导入的值复制粘贴啪啦啪啦就完了。如果想把varchar类型改成int类型,需要清空key那一列的值,这是无法办到的,也可能是我才疏学浅,反正我没啥办法。然后大佬教了我一个很好用的方法。

首先,查询出要导出的数据是否存在重复,这是一个细节

select USER_ID , COUNT(USER_ID) from TF_EMPLOYEE WHERE COMPID = '61' GROUP BY USER_ID 

这里是查询 TF_EMPLOYEE 表中,COMPID为61的结果,取USER_ID的值。

在这里插入图片描述可以看到,在USER_ID这一列旁边出现了一列COUNT(USER_ID),往下拉,只要COUNT(USER_ID)列都是1,那就没有重复的。

将查询结果中USER_ID列的结果全都黏贴到Excel文件中。
在这里插入图片描述这里一共有101条数据

为了保险,我们再查一下总数。

select COUNT(user_id) from TF_EMPLOYEE WHERE COMPID = '61'

在这里插入图片描述
总数是101这就是说我们的结果是正确的。

select max(TO_NUMBER(id)) from tf_staff

将varchar类型的主键(id)转成整型然后获取最大值。

在这里插入图片描述
在这里插入图片描述放到Excel中自增

写一个插入的数据库语句

INSERT INTO TF_STAFF (STAFF_ID,ID) VALUES ('','');

不用填值,如果你怕出错,可以先测试下。
在这里插入图片描述
先输入=""
在这里插入图片描述
然后输入&,选择第一个数据,
在这里插入图片描述
&符相当于and,用来连接第相连的" "里面的值
在这里插入图片描述

这里将插入语句分成三份,刚好对于3个" "号,拉下来就成
在这里插入图片描述
结果就是这样,将其黏贴到文本编辑工具
在这里插入图片描述
再转帖到数据库,
在这里插入图片描述

大功告成!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值