请稍候,加载中....

复制数据到新表

SELECT INTO 语法

通过 SQL,您可以从一个表复制信息到另一个表。

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

注意:

MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT。

复制所有的列插入到新表

SELECT *
INTO newtable [IN externaldb]
FROM table1;

复制指定的列插入到新表

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

提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。

 


SELECT INTO 示例

创建 articles 表的备份

SELECT *
INTO articles_bak
FROM articles;

复制指定列插入到新表中

SELECT title, author, pub_date
INTO articles_bak_2012
FROM articles;

使用where条件语句进行筛选

SELECT *
INTO articles_bak
FROM articles
WHERE pub_date >= '2010-01-01';

将关联查询结果数据插入到新表中

SELECT articles.title, article_view_log.count, article_view_log.log_date
INTO article_views
FROM 
LEFT JOIN article_view_log
ON articles.id=article_view_log.aid;

提示:SELECT INTO 语句可用于通过另一种模式创建一个新的空表。只需要添加促使查询没有数据返回的 WHERE 子句即可:

SELECT *
INTO articles_2012
FROM articles
WHERE 1=0;

 


MySQL 实现示例

mysql不支持 select insert into语句

可以使用如下替代

全表复制

CREATE TABLE articles_2012
AS
SELECT * FROM articles

WHERE筛选

CREATE TABLE articles_2013
AS
SELECT * FROM articles
WHERE id>10

创建新表保存关联查询结果

CREATE TABLE articles_views
AS
(
SELECT *
FROM articles
LEFT JOIN article_view_log
ON articles.id=article_view_log.aid
WHERE id>3
)

Python学习手册-