15 SELECT INTO和INSERT INTO的用法


15.1 SELECT INTO作用

SELECT INTO語句從一個表中復制數據,然后將數據插入到另一個新表中。

 

15.2 SELECT INTO語句

--可以把所有的列都復制到新表中:
SELECT *
INTO newtable[IN externaldb]
FROM table1;
--或者
SELECT coulumn_name(s)
INTO newtable[IN externaldb]
FROM table1;

注意:將使用SELECT語句定義的列名和類型創建新表。可以使用AS子句來應用一個新名稱。

 

15.3 SELECT INTO實例

--創建Customers的備份復件
SELECT *
INTO CustomersBackup
FROM Customers;
--只復制一些列插入到新表中
SELECT 姓名,地址
INTO CustomersBackup_1
FROM Customers;
--只復制廣東省的客戶插入到新表中
SELECT *
INTO CustomerBackup_2
FROM Customers WHERE 省份='廣東省';
--復制多個表中的數據插入到新表中
SELECT c.姓名,o.訂單 AS ID
INTO CustomerOrderBackup
FROM Customers AS c
LEFT JOIN Orders AS o
ON c.客戶ID=o.客戶 ID;

注意:SELECT INTO語句可以用於在另一種模式下創建一個新的空表,即只有表結構,沒有數據。只需添加WHERE子句,使查詢返回時沒有數據:

SELECT *
INTO newtable
FROM table1
WHERE 1=0;

 

15.4 INSERT INTO SELECT作用

INSERT INTO SELECT語句從表中復制數據,並將數據插入現有的表中。目標表中的任何現有行都不會受到影響。

 

15.5 INSERT INTO SELECT語法

--可以將所有列從一個表中復制到另一個已經存在的表中
INSERT INTO table2
SELECT * FROM table1;
--或者
--把想要的列復制到另一個現有的表中
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

 

15.6 INSERT INTO SELECT實例

--把“Suppliers”一欄復制到“Customers”一欄
INSERT INTO Customers(姓名,省份)
SELECT 供應商名稱,省份
FROM Suppliers; 
--只將上海供應商的副本插入“Customers”
INSERT INTO Customers(姓名,省份)
SELECT 供應商名稱,省份
FROM Suppliers
WHERE 省份='上海市'; 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM