【转】把一个表的数据插入到另一个表:INSERT INTO SELECT / SELECT INTO

原文链接:http://www.it118.org/Specials/c9fba99e-4401-49cf-8256-ac3c1a34c0d9/cf2a7ceb-1815-43fe-8810-47af11ac65a9.htm

有两种方法可以是实现,而且不使用游标.下面两种方法性能远好于游标.

1.INSERT INTO SELECT 
这种方法常用在目标表已经存在数据库中.需要从源表把数据插入到目标表的情况.如果目标表和源表的列相同,就不必列出数据列了.

USE AdventureWorks GO ----Create TestTable CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100)) ----INSERT INTO TestTable using SELECT INSERT INTO TestTable (FirstName, LastName) SELECT FirstName, LastName FROM Person.Contact WHERE EmailPromotion = 2 ----Verify that Data in TestTable SELECT FirstName, LastName FROM TestTable ----Clean Up Database DROP TABLE TestTable GO USE AdventureWorks GO ----Create TestTable CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100)) ----INSERT INTO TestTable using SELECT INSERT INTO TestTable --(FirstName, LastName) SELECT FirstName, LastName FROM Person.Contact WHERE EmailPromotion = 2 ----Verify that Data in TestTable SELECT FirstName, LastName FROM TestTable ----Clean Up Database DROP TABLE TestTable GO 

仔细看看有什么区别.

2.SELECT INTO 
这种方法用在目标表事先不存在于数据库.在插入数据的同时新建表.新表的字段名和数据类型和需要插入的列相同.

USE AdventureWorks GO ----Create new table and insert into table using SELECT INSERT SELECT FirstName, LastName INTO TestTable FROM Person.Contact WHERE EmailPromotion = 2 ----Verify that Data in TestTable SELECT FirstName, LastName FROM TestTable ----Clean Up Database DROP TABLE TestTable GO 

我也常用它来复制数据结构,但不插入数据.

USE AdventureWorks GO ----Create new table and insert into table using SELECT INSERT SELECT FirstName, LastName INTO TestTable FROM Person.Contact WHERE 1=2 DROP TABLE TestTable GO

如果认为此文对您有帮助,别忘了支持一下哦!

作者:齐飞

来源:http://youring2.cnblogs.com/

声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

转载:http://www.cnblogs.com/youring2/archive/2012/04/06/2434184.html

时间: 2024-09-20 00:22:30

【转】把一个表的数据插入到另一个表:INSERT INTO SELECT / SELECT INTO的相关文章

sql-oracle怎么实现把一个表的数据插入到另一个表中

问题描述 oracle怎么实现把一个表的数据插入到另一个表中 oracle数据库中有两个表A.B,表的结构不一样.A表比B表多两个字段,然后我需要把B表的数据插入到A表中,但同时也需要插入A表中多的两个字段,请问这个SQL语句应该怎么写呀? 大神们请指教,,谢谢! 解决方案 insert into A(字段1,字段2,多出的字段1,多出的字段2) select 字段1,字段2,'多出的字段值1','多出的字段值2' from B

sql-oracle怎么把一个表的数据插入到另一个表中

问题描述 oracle怎么把一个表的数据插入到另一个表中 oracle数据库中有两个表A.B,表的结构不一样.A表比B表多两个字段,然后我需要把B表的数据插入到A表中,但同时也需要插入A表中多的两个字段,请问这个SQL语句应该怎么写呀? 大神们请指教,,谢谢! 解决方案 insert into a select bb.第一个字段,...bb.最后一个字段,' ',' ' from b bb; 字段要和a表的字段对应 a表中b 表没有的字段插入空值,这个位置要和你a表位置对应不一定在我写的最后 ,

MySql中把一个表的数据插入到另一个表中的实现代码_Mysql

小编今天在写一个 将一个数据库的表数据 导入到 另一个数据库的表的时候 我是这么写的 复制代码 代码如下: <?php header("Content-type:text/html;charset=utf-8"); $conn = mysql_connect("localhost","root","");mysql_select_db('nnd',$conn);mysql_select_db('ahjk',$conn);

MySQL下将一个表的数据插入到另外一个表的实现语句_Mysql

如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: Code: 复制代码 代码如下: INSERT INTO 目标表 SELECT * FROM 来源表; 比如要将 articles 表插入到 newArticles 表中,则是: 复制代码 代码如下: INSERT INTO newArticles SELECT * FROM articles; 如果只希望导入指定字段,可以用这种方法: 复制代码 代码如下: INSERT INTO 目标表 (字段1, 字段2, ...) SELECT

c# 服务-从一个表中取出对应的数据 插入到另外一个表结构相同的表中

问题描述 从一个表中取出对应的数据 插入到另外一个表结构相同的表中 C# 写一个服务程序实现功能如下: 有两个结构相同的表A和B 要实现 从表A中取出符合条件的数据 插入到表B中去 然后把A表中的数据删除 ,注明:数据量很大 保证数据顺利插入B表中并删除A表中的数据 保证各个环节不出错: 大伙有什么高招 请指点下

sql server 2000 一个表的数据插入到三个相关联表中,一条一条的插入

FROM http://www.cnblogs.com/geovindu/archive/2009/07/03/1516159.html 1/**//********************************************************** 2测试数据 sql server 2000 一个表的数据插入到三个相关联表中,一条一条的插入 3---涂聚文 缔友计算机信息技术有限公司 软件工程师 geovindu@163.com www.dupcit.com 4---捷为工作室

sql server 2008如何根据一个表中数据去查询另一个表的数据?

问题描述 sql server 2008如何根据一个表中数据去查询另一个表的数据? 现在我有三个表,表A有11列,其中有一列用来记录员工的id,一列是记录类型的Id,现在我要查询出表A的所有数据,但同时我要通过员工的id去查询出表B的员工名,通过类型的id,去查询出表C中的类型详情,最后我要得到的数据就是表A中除了员工id和类型id的数据外的9列数据,加上表B的员工名和表C的类型详情,请问这样的SQL语句要如何写? 解决方案 用一个表的数据更新另一个表Sql ServerSQL server中将

sql server-本人菜鸟,求教如何把一个表的字段插入到另外一个表中

问题描述 本人菜鸟,求教如何把一个表的字段插入到另外一个表中 已知表usis.TExamination a hisbase.tpatientinfo T 2个表中都有上万条数据,有相关的,有不相关的.现在2张表通过字段关联 a.fzyh = T.fkey现在我要通过关联,把 t表中的t.flsh 插入到a.ftyzyh中语句该怎么写啊? 我自己写了条. UPDATE usis.TExamination a SET A.FTYZYH=(SELECT flsh FROM hisbase.tpatie

怎样灵活的把textbox和combox控件中数据插入到数据库的表中

问题描述 有一个输入窗体,里面有很多textbox和combox控件,当用户在里面输入数据后(有的控件内容是根据前面的内容计算的),怎样灵活的把控件中数据插入到数据库的表中.因为用Insert命令,控件太多.不知还有什么其他方便的方法?请各位高手赐教.谢谢. 解决方案 解决方案二:使用textbox数组,用循环插入到数据库.解决方案三:可否给出具体实例?重点是数组合怎样插入到数据库的表中?解决方案四:可以用datagridview吧,把它与数据库关联解决方案五:我的环境是.net2003+sql