学而实习之 不亦乐乎

SQL SERVER中SELECT INTO 和 INSERT INTO SELECT的用法

2019-02-19 12:01:11

两个数据表,从一个数据表向另一个数据表导入数据通常可以SELECT INTO和INSERT INTO语句来实现。
下面是具体的用法:

1.SELECT INTO FROM语句

语句形式为:SELECT vale1,value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

IN 子句可用于向另一个数据库中拷贝表:
SELECT * INTO Persons IN 'Backup.mdb' FROM Persons

SELECT可以是多种形式的,如可以选取部分列、带WHERE字句或者JOIN关键词等。

注意:Oracle中SELECT语句的用法略有不同,如下:
Oracle:Create Table2 as Select column1,column2……From Table1

2.INSERT INTO SELECT语句

语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
或者:Insert into Table2 select  *  from Table1

注意:
(1)要求目标表Table2必须存在,并且字段field,field2...也必须存在。
(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2...中必须包括主键。
(3)注意语法,不要加values。