Home [SQL] Select...Into (將查詢後的資料新增到新資料表中)
Post
Cancel

[SQL] Select...Into (將查詢後的資料新增到新資料表中)

Select Into

SELECT…INTO 用來從某資料表查詢所得之資料集結果新增到另一個新建的資料表中。此一指令常用來複製備份資料表,或將資料表輸出至另一資料庫中。

語法

Copy all columns into a new table

可以複製所有的Columns(列)插入到新表中

1
2
3
4
SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

其中 newtable 為欲新建的資料表名稱,該資料表會自動建立,且不可與已經存在的資料表名稱相同;而 externaldb 為至外部資料庫的路徑。

Copy only some columns into a new table

或者只複製希望的Columes(列)插入到新表中

1
2
3
4
SELECT column1, column2, column3, ...
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

範例

例如,我們現在想備份顧客資料表 customers:

1
2
3
SELECT * 
INTO customers_backup 
FROM customers;

或者,我們想把它備份到 backup 資料庫中:

1
2
3
select *
into backup.dbo.customers_backup 
from customers

我們也可以只複製資料表結構:

1
2
3
SELECT * 
INTO new_table 
FROM table_name WHERE 0=1 -- where 1=0只複製表結構

where 1=0; 這個條件始終爲false,結果不會返回任何數據,只有表結構。

MSDN - SELECT - INTO 子句 (Transact-SQL)
w3schools - SQL SELECT INTO Statement
Fooish - Select Into
[SQL] where 1=1、where 1=0

This post is licensed under CC BY 4.0 by the author.