INSERT INTO 与 SELECT INTO 的区别和使用

SQL Server提供了两种快速复制表的方法,正好最近又用到了,记下:

(1)INSERT INTO TableName1 SELECT columnNames FROM TableName2 WHERE TableName2.Column1 ='' and TableName2.Column2 =''

     这种方法适用于TableName1表已经存在的情况下,把表TableName2中满足条件的记录追加到TableName1表中。

    

create table A
(
   Name nvarchar(10),
   Birthday date
)
create table B
(
   Name nvarchar(10),
   Birthday date
)

insert into A values('Lucy', '1988-01-01')
insert into A values('Luli', '1989-05-01')

insert into B(Name,Birthday)
select Name, birthday from A where A.Name = 'Lucy'

(2)SELECT TableName2ColumnNames INTO TableName1 FROM TableName2 WHERE TableName2.Column1 ='' and TableName2.Column2 =''

     这种方法适用于TableName1表不存在的情况下,把表TableName2中满足条件的记录复制到TableName1表中。

create table A
(
   Name nvarchar(10),
   Birthday date
)

insert into A values('Lucy', '1988-01-01')
insert into A values('Luli', '1989-05-01')

select Name, birthday into B from A where A.Name = 'Lucy'

     此种方法还用于快速复制表结构,用法如下

      SELECT TableName2ColumnNames INTO TableName1 FROM TableName2 WHERE 1=2

那些曾以为念念不忘的事情就在我们念念不忘的过程中,被我们遗忘了。
原文地址:https://www.cnblogs.com/niuww/p/3028805.html