SQL 两表之间拷贝复制数据

本文介绍了在不同数据库间进行数据迁移的几种方法,包括使用SELECT * INTO 和 INSERT INTO语句实现表间数据拷贝,适用于数据库表结构相同或部分相同的场景。

     现在做的这个项目用到了几次两个表之间拷贝数据

第一次是导出的时候

     当时为了导出一些数据然后在其他的系统中导入,表的结构是一样的,所以我就新建了一个数据库,然后:

     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这列中,非常方便.

     

     小小技巧希望对大家有所帮助

转载于:https://www.cnblogs.com/zrx401558287/archive/2009/04/01/1427345.html

### 如何在 SQL Server 中复制数据 #### 使用 `SELECT INTO` 创建并填充新 当目标是创建一个新的并将另一个数据复制过来时,可以使用 `SELECT INTO` 语句。此命令会在执行过程中自动创建新的格,并将选定数据插入其中[^3]。 ```sql SELECT column1, column2, column3 INTO new_table_name FROM existing_table_name; ``` 这种方法适用于希望快速建立一个具有相同结构的新的情况,而且不需要预先定义该的模式。需要注意的是,这种方式仅能用于新建而不能更新已有的内容。 #### 利用 `INSERT INTO SELECT` 向现有中添加记录 对于已经存在的来说,可以通过组合使用 `INSERT INTO` 和 `SELECT` 来实现从其他里挑选特定条件下的行来加入当前内。这允许更灵活的选择哪些数据应该被迁移过去[^1]。 ```sql INSERT INTO target_table (column1, column2, ...) SELECT source_column1, source_column2, ... FROM source_table WHERE condition; ``` 这里的关键在于确保两个之间的对应关系正确无误——即源中的每一项都能够在目的找到匹配的位置。另外还要留意任何可能影响操作成功的约束因素,比如主键冲突等问题。 #### 图形界面工具辅助完成复杂任务 除了编写脚本外,在某些情况下还可以借助图形化管理工具来进行更加复杂的拷贝工作。通过SQL Server Management Studio(SSMS),可以选择“导入/导出向导”,按照提示逐步设置参数从而轻松达成跨服务器间的大规模数据转移需求[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值