首页 » sql 一个表向另一个表插入数据

sql 一个表向另一个表插入数据

2017/6/15 14:42:09 81 梦影雾花

从一个表复制数据插入到另一个表有两种方法:1.INSERT INTO SELECT 语句 2.SELECT INTO 语句。


1.INSERT INTO SELECT 语句

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。

我们可以从一个表中复制所有的列插入到另一个已存在的表中:

INSERT INTO table2
SELECT * FROM table1

或者我们可以只复制希望的列插入到另一个已存在的表中:

INSERT INTO table2(column_name(s))
SELECT column_name(s) FROM table1;

2.SELECT INTO 语句

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


我们可以复制所有的列插入到新表中:

SELECT *
INTO newtable [IN externaldb] FROM table1;

或者只复制希望的列插入到新表中:

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

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

当然你可以使用以下语句来拷贝表结构及数据:

CREATE TABLE 新表 SELECT * FROM 旧表

两者的异同点

select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建。insert into select from 要求目标表存在。


阅读延展
评论列表
新浪微博
微信