通过 SQL,您可以从一个表复制信息到另一个表。
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 。
当然你可以使用以下语句来拷贝表结构及数据:
CREATE
TABLE
新表
SELECT
*
FROM
旧表
我们可以复制所有的列插入到新表中:
SELECT * INTO newtable [ IN externaldb] FROM table1; |
或者只复制希望的列插入到新表中:
SELECT column_name(s) INTO newtable [ IN externaldb] FROM table1; |
![]() |
提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。 |
---|
创建 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; |