现在做的这个项目用到了几次两个表之间拷贝数据
第一次是导出的时候
当时为了导出一些数据然后在其他的系统中导入,表的结构是一样的,所以我就新建了一个数据库,然后:
select * into [DB_A].table_A from [DB_B].table_B
这句话的意思就是从DB_B这个数据库中的table_B导出数据,到数据库DB_A中的table_A,这句话的好处就是它会在DB_A中创建一个table_A名称的表而且会按照table_B的表结构创建字段,然后再把table_B中的全部数据插入到table_A中,这样就省去了我创建table_A和他的字段的过程.
第二次是导入的时候
需要把还原的数据库中的数据导入到我们的项目库中,这次由于项目库中的表都是存在的所以只能用:
insert into [DB_B].table_B select * from [DB_A].table_A
这样只会把数据导入到项目库中
第三次是把一个表拆成多个表,但是里面的数据也要插入到相应的表中
这次比较麻烦了,当时由于表的结构都不一样了,开始是用的一个本方法,就是把源表直接用第一种方法复制成一个表,然后再把里面的字段修改或删除,勉强完成了.
但是过后尝试发现insert into 可以加字段就变成了:
insert into table_A(id) select id from table_B
这样就直接把table_B中的id列复制到了table_A的id这列中,非常方便.
小小技巧希望对大家有所帮助