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;
INTO newtable [IN externaldb]
FROM table1;
或者只複製希望的列插入到新表中:
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;
INTO newtable [IN externaldb]
FROM table1;
![]() |
提示:新表將會使用 SELECT 語句中定義的列名稱和類型進行創建。您可以使用 AS 子句來應用新名稱。 |
---|
SQL SELECT INTO 實例
創建 Websites 的備份複件:
SELECT *
INTO WebsitesBackup2016
FROM Websites;
INTO WebsitesBackup2016
FROM Websites;
只複製一些列插入到新表中:
SELECT name,
url
INTO WebsitesBackup2016
FROM Websites;
INTO WebsitesBackup2016
FROM Websites;
只複製中國的網站插入到新表中:
SELECT *
INTO WebsitesBackup2016
FROM Websites
WHERE country='CN';
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;
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;
INTO newtable
FROM table1
WHERE 1=0;