select into from 和 insert into select 的用法和区别

作者: 来源: 日期:2014-8-21

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

下面分别介绍两者语法

INSERT INTO SELECT 语句

语句形式为:

Insert into Table2(field1,field2,...) select value1,value2,... from Table1

注意地方:

(1)要求目标表 Table2 必须存在,并且字段 field,field2... 也必须存在

(2)注意 Table2 的主键约束,如果 Table2 有主键而且不为空,则 field1, field2... 中必须包括主键

(3)注意语法,不要加 values,和插入一条数据的 sql 混了,不要写成 :

Insert into Table2(field1,field2,...) values (select value1,value2,... from Table1)

(4)由于目标表 Table2 已经存在,所以我们除了插入源表 Table1 的字段外,还可以插入常量。

完整实例:

SELECT INTO FROM 语句

语句形式为:SELECT vale1, value2 into Table2 from Table1

要求目标表 Table2 不存在,因为在插入时会自动创建表 Table2,并将 Table1 中指定字段数据复制到 Table2 中 。

完整实例:

相关文章