`
flashdream8
  • 浏览: 667337 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

INSERT INTO SELECT语句 vs SELECT INTO FROM语句

阅读更多

        Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTOINSERT INTO SELECT 表复制语句了。

      1.INSERT INTO SELECT语句

       语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

      要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:


   --1.创建测试表
    create TABLE Table1
     (
         a
varchar(10),
         b
varchar(10),
         c
varchar(10),
        
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
         (
             a
ASC
         )
     )
ON [PRIMARY]

    
create TABLE Table2
     (
         a
varchar(10),
         c
varchar(10),
         d
int,
        
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
         (
             a
ASC
         )
     )
ON [PRIMARY]
    
GO
    
--2.创建测试数据
    Insert into Table1 values('','asds','90')
    
Insert into Table1 values('','asds','100')
    
Insert into Table1 values('','asds','80')
    
Insert into Table1 values('','asds',null)
    
GO
    
select * from Table2

    
--3.INSERT INTO SELECT语句复制表数据
    Insert into Table2(a, c, d) select a,c,5 from Table1
    
GO

    
--4.显示更新后的结果
    select * from Table2
    
GO
    
--5.删除测试表
    drop TABLE Table1
    
drop TABLE Table2


      2.SELECT INTO FROM语句

       语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:


   --1.创建测试表
    create TABLE Table1
     (
         a
varchar(10),
         b
varchar(10),
         c
varchar(10),
        
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
         (
             a
ASC
         )
     )
ON [PRIMARY]
    
GO

    
--2.创建测试数据
    Insert into Table1 values('','asds','90')
    
Insert into Table1 values('','asds','100')
    
Insert into Table1 values('','asds','80')
    
Insert into Table1 values('','asds',null)
    
GO

    
--3.SELECT INTO FROM语句创建表Table2并复制数据
    select a,c INTO Table2 from Table1
    
GO

    
--4.显示更新后的结果
    select * from Table2
    
GO
    
--5.删除测试表
    drop TABLE Table1
    
drop TABLE Table2
分享到:
评论

相关推荐

    INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别

    1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还...

    select into和insert into select使用方法

    select into 和 insert into select 两种表复制语句 第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建 第二句(insert into select from)要求目标表(destTbl)存在,由于目标表...

    Insert Into 语句批量生成器

    SELECT语句,如 INSERT INTO # SELECT '0001','2004-4-5','2000','3000' INSERT INTO # SELECT '0002','2004-4-5','1000','5000' INSERT INTO # SELECT '0003','2005-6-7','1500','3000' INSERT INTO # ...

    select into 和 insert into select 两种表复制语句

    第二句:INSERT INTO [ToTable] ([fild_One],[fild_Two]) SELECT [fild_One], 8 FROM [FromTable] 以上两句都是将 [FromTable] 的数据插入到 [ToTable],但两句又有区别的: 第一句(SELECT INTO FROM)要求目标表...

    Insert into select语句引发的生产事故

      Insert into select请慎用。这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份。本想通过程序先查询查出来然后批量插入。但xxx觉得这样有点慢,需要耗费大量的网络I/O,决定采取别的方法进行实现。...

    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句简单介绍

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,…) values(value1,value2,…)这种形式的在应用程序开发中... 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,…) select value1

    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

    1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1 或者:Insert into Table2 select * from Table1 注意:(1)要求目标表Table2必须存在,并且...

    正确使用MySQL INSERT INTO语句

    以下的文章主要介绍的是MySQL INSERT INTO语句的实际用法以及MySQL INSERT INTO语句中的相关语句的介绍,MySQL INSERT INTO语句在实际应用中是经常使用到的语句,所以对其相关的内容还是多多掌握为好。 INSERT [LOW...

    insert into select和select into的使用和区别介绍

    insert into ... select 和 select ... into的使用上有哪些区别呢?在本文将为大家下详细介绍下,不知道的朋友可以了解下

    解析MySQL中INSERT INTO SELECT的使用

    对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,可以先将需要查询...

    根据表名及字段,自动生成insert,update,select语句

    首先在数据库中创建存储过程和方法,然后调用创建好的存储过程,生成带有与表名及字段相关的insert,update,delete语句,变量与表字段名相同,例如: "insert into temp (col1,col2,col3) values ('"+col1+"','"+col2...

    数据库数据转成insert sql语句工具

    将数据库数据转换成insert sql语句,目前只在sql server测试过。 在SqlData2Insert.exe.config文件中修改连接数据库, ;Initial Catalog=DW;User Id=sa;Password=123"/> Data Source后面是数据库地址,Initial...

    mysql中insert与select的嵌套使用方法

    本文讲述了mysql中insert与...INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name 当然,上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,我们可以先将需要查询的字段j

    SQL的ORDER BY 关键字,INSERT INTO语句,UPDATE语句,DELETE语句

    SQL的ORDER BY 关键字,INSERT INTO语句,UPDATE语句,DELETE语句 ORSER BY 关键字 ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。默认为升序,如果想要降序排列,需要DESC关键字 ORDER BY的语法 ...

    insert select与select into 的用法使用说明

    select 列名 from 表名 where 条件 –不创建表,只复制表数据 select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,–创建一张新表,只复制选择的列名字段数据 Insert是T-sql中常用语句,Insert ...

Global site tag (gtag.js) - Google Analytics