SQL SELECT INTO 語句


通過 SQL,您可以從一個表複製資訊到另一個表。

SELECT INTO 語句從一個表複製數據,然後把數據插入到另一個新表中。


SQL SELECT INTO 語句

SELECT INTO 語句從一個表複製數據,然後把數據插入到另一個新表中。

注意:

MySQL 資料庫不支持 SELECT ... INTO 語句,但支持 INSERT INTO ... SELECT

當然你可以使用以下語句來拷貝表結構及數據:

CREATE TABLE 新表
AS
SELECT * FROM 舊表

SQL SELECT INTO 語法

我們可以複製所有的列插入到新表中:

SELECT *
INTO newtable [IN externaldb]
FROM table1;

或者只複製希望的列插入到新表中:

SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;

lamp

提示:新表將會使用 SELECT 語句中定義的列名稱和類型進行創建。您可以使用 AS 子句來應用新名稱。



SQL SELECT INTO 實例

創建 Websites 的備份複件:

SELECT *
INTO WebsitesBackup2016
FROM Websites;

只複製一些列插入到新表中:

SELECT name, url
INTO WebsitesBackup2016
FROM Websites;

只複製中國的網站插入到新表中:

SELECT *
INTO WebsitesBackup2016
FROM Websites
WHERE country='CN';

複製多個表中的數據插入到新表中:

SELECT Websites.name, access_log.count, access_log.date
INTO WebsitesBackup2016
FROM Websites
LEFT JOIN access_log
ON Websites.id=access_log.site_id;

提示:SELECT INTO 語句可用於通過另一種模式創建一個新的空表。只需要添加促使查詢沒有數據返回的 WHERE 子句即可:

SELECT *
INTO newtable
FROM table1
WHERE 1=0;