SQL SELECT INTO 語句

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;

提示:新表將會使用 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;