数据库操作,将一个表的数据批量插入另一个表
程序员文章站
2022-05-03 13:14:14
...
由于一次失误,在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个" "号,拉下来就成
结果就是这样,将其黏贴到文本编辑工具
再转帖到数据库,
大功告成!
推荐阅读
-
sql将一个表中的数据插入到另一个表中的方法
-
MySQL下将一个表的数据插入到另外一个表的实现语句
-
Mysql将一个表中的某一列数据复制到另一个表中某一列里的方法
-
sql将一个表中的数据插入到另一个表中的方法
-
mysql怎么把一个数据库的表复制到另一个数据库中
-
88秒插入1000万条数据到MySQL数据库表的操作方法
-
如何将对数据库两个表的操作处于用一个事物下?同一个连接对象+事物拦截
-
如何将Oracle的一个大数据表快速迁移到 Sqlserver2008数据库(图文教程)
-
mysql 将一个表中的数据复制到另一个表中,sql语句
-
C++ mysql API以当前日期建表,插入数据库的操作讲解