SELECT INTO 和 INSERT INTO SELECT 兩種表復(fù)制語(yǔ)句簡(jiǎn)單介紹
更新時(shí)間:2012年11月09日 11:18:11 作者:
Insert是T-sql中常用語(yǔ)句,Insert INTO table(field1,field2,...) values(value1,value2,...)這種形式的在應(yīng)用程序開(kāi)發(fā)中必不可少
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的字段外,還可以插入常量。示例如下:
INSERT INTO SELECT語(yǔ)句復(fù)制表數(shù)據(jù)
--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中。示例如下:
SELECT INTO FROM創(chuàng)建表并復(fù)制表數(shù)據(jù)
--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
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ù)制代碼 代碼如下:
INSERT INTO SELECT語(yǔ)句復(fù)制表數(shù)據(jù)
--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中。示例如下:
SELECT INTO FROM創(chuàng)建表并復(fù)制表數(shù)據(jù)
復(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的使用
- INSERT INTO SELECT語(yǔ)句與SELECT INTO FROM語(yǔ)句的一些區(qū)別
- insert select與select into 的用法使用說(shuō)明
- 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ū)別)
相關(guān)文章
MySQL數(shù)據(jù)庫(kù)怎么正確查詢字符串長(zhǎng)度
MySQL中字符串長(zhǎng)度一般指數(shù)據(jù)庫(kù)表中一個(gè)字段或列中存儲(chǔ)的字符串的最大長(zhǎng)度,有時(shí)我們需要測(cè)量字符串長(zhǎng)度,來(lái)保證表結(jié)構(gòu)及數(shù)據(jù)庫(kù)性能穩(wěn)定,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)怎么正確查詢字符串長(zhǎng)度的相關(guān)資料,需要的朋友可以參考下2023-06-06詳解如何在阿里云服務(wù)器安裝Mysql數(shù)據(jù)庫(kù)
這篇文章主要介紹了詳解如何在阿里云服務(wù)器安裝Mysql數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11mysql從一張表查詢批量數(shù)據(jù)并插入到另一表中的完整實(shí)例
這篇文章主要給大家介紹了關(guān)于mysql從一張表查詢批量數(shù)據(jù)并插入到另一表中的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01mysql查找刪除表中重復(fù)數(shù)據(jù)方法總結(jié)
在本篇文章中小編給大家整理了關(guān)于mysql查找刪除表中重復(fù)數(shù)據(jù)方法和相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。2019-05-05MySQL數(shù)據(jù)庫(kù)配置優(yōu)化的方案
我們總是希望MySQL能夠獲得更高的查詢性能,最好的辦法是弄清楚MySQL是如何優(yōu)化和執(zhí)行查詢的。本文講解MySQL在各個(gè)方面的優(yōu)化方向,方便后端開(kāi)發(fā)人員在調(diào)優(yōu)和問(wèn)題排查過(guò)程中找到切入點(diǎn)2023-02-02