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;
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;