insert into(列名) select 列名 from 表名 where 條件 --不創(chuàng)建表,只復(fù)制表數(shù)據(jù)
select 列名 into 表名(這個(gè)表名是不存在的) from 表名 where 條件,--創(chuàng)建一張新表,只復(fù)制選擇的列名字段數(shù)據(jù)
Insert是T-sql中常用語(yǔ)句,Insert INTO table(field1,field2,...) values(value1,value2,...)這種形式的在應(yīng)用程序開(kāi)發(fā)中必不可少。但我們?cè)陂_(kāi)發(fā)、測(cè)試過(guò)程中,經(jīng)常會(huì)遇到需要表復(fù)制的情況,如將一個(gè)table1的數(shù)據(jù)的部分字段復(fù)制到table2中,或者將整個(gè)table1復(fù)制到table2中,這時(shí)候我們就要使用SELECT INTO 和 INSERT INTO SELECT 表復(fù)制語(yǔ)句了。
1.INSERT INTO SELECT語(yǔ)句
語(yǔ)句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目標(biāo)表Table2必須存在,由于目標(biāo)表Table2已經(jīng)存在,所以我們除了插入源表Table1的字段外,還可以插入常量。示例如下:
復(fù)制代碼 代碼如下:
--1.創(chuàng)建測(cè)試表
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.創(chuàng)建測(cè)試數(shù)據(jù)
Insert into Table1 values('趙','asds','90')
Insert into Table1 values('錢(qián)','asds','100')
Insert into Table1 values('孫','asds','80')
Insert into Table1 values('李','asds',null)
GO
select * from Table2
--3.INSERT INTO SELECT語(yǔ)句復(fù)制表數(shù)據(jù)
Insert into Table2(a, c, d) select a,c,5 from Table1
GO
--4.顯示更新后的結(jié)果
select * from Table2
GO
--5.刪除測(cè)試表
drop TABLE Table1
drop TABLE Table2
2.SELECT INTO FROM語(yǔ)句
語(yǔ)句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標(biāo)表Table2不存在,因?yàn)樵诓迦霑r(shí)會(huì)自動(dòng)創(chuàng)建表Table2,并將Table1中指定字段數(shù)據(jù)復(fù)制到Table2中。示例如下:
復(fù)制代碼 代碼如下:
--1.創(chuàng)建測(cè)試表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
--2.創(chuàng)建測(cè)試數(shù)據(jù)
Insert into Table1 values('趙','asds','90')
Insert into Table1 values('錢(qián)','asds','100')
Insert into Table1 values('孫','asds','80')
Insert into Table1 values('李','asds',null)
GO
--3.SELECT INTO FROM語(yǔ)句創(chuàng)建表Table2并復(fù)制數(shù)據(jù)
select a,c INTO Table2 from Table1
GO
--4.顯示更新后的結(jié)果
select * from Table2
GO
--5.刪除測(cè)試表
drop TABLE Table1
drop TABLE Table2
您可能感興趣的文章:- 數(shù)據(jù)庫(kù)插入數(shù)據(jù)之select into from與insert into select區(qū)別詳解
- insert into select和select into的使用和區(qū)別介紹
- 解析MySQL中INSERT INTO SELECT的使用
- SELECT INTO 和 INSERT INTO SELECT 兩種表復(fù)制語(yǔ)句簡(jiǎn)單介紹
- INSERT INTO SELECT語(yǔ)句與SELECT INTO FROM語(yǔ)句的一些區(qū)別
- mssql insert into 和insert into select性能比較
- select into 和 insert into select 兩種表復(fù)制語(yǔ)句
- insert into tbl() select * from tb2中加入多個(gè)條件
- SELECT INTO 和 INSERT INTO SELECT 兩種表復(fù)制語(yǔ)句詳解(SQL數(shù)據(jù)庫(kù)和Oracle數(shù)據(jù)庫(kù)的區(qū)別)