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

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的字段外,还可以插入常量。

完整实例:

SQL 代码   复制

    --1.创建测试表

    create TABLE Table1

    (

         a varchar(10),

         b varchar(10),

         c varchar(10),

         CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED

         (

             a ASC

         )

    ) ON [PRIMARY]

    create TABLE Table2

    (

         a varchar(10),

         c varchar(10),

         d int,

         CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED

         (

             a ASC

         )

    ) ON [PRIMARY]

    GO

    --2.创建测试数据

    Insert into Table1 values(‘赵‘,‘asds‘,‘90‘)

    Insert into Table1 values(‘钱‘,‘asds‘,‘100‘)

    Insert into Table1 values(‘孙‘,‘asds‘,‘80‘)

    Insert into Table1 values(‘李‘,‘asds‘,null)

    GO

    select * from Table2

    --3.INSERT INTO SELECT语句复制表数据

    Insert into Table2(a, c, d) select a,c,5 from Table1

    GO

    --4.显示更新后的结果

    select * from Table2

    GO

    --5.删除测试表

    drop TABLE Table1

    drop TABLE Table2

SELECT INTO FROM语句

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

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

完整实例:

SQL 代码   复制

    --1.创建测试表

     create TABLE Table1

    (

         a varchar(10),

         b varchar(10),

         c varchar(10),

         CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED

         (

             a ASC

         )

    ) ON [PRIMARY]

    GO

    --2.创建测试数据

     Insert into Table1 values(‘赵‘,‘asds‘,‘90‘)

    Insert into Table1 values(‘钱‘,‘asds‘,‘100‘)

    Insert into Table1 values(‘孙‘,‘asds‘,‘80‘)

    Insert into Table1 values(‘李‘,‘asds‘,null)

    GO

    --3.SELECT INTO FROM语句创建表Table2并复制数据

     select a,c INTO Table2 from Table1

    GO

    --4.显示更新后的结果

     select * from Table2

    GO

    --5.删除测试表

     drop TABLE Table1

    drop TABLE Table2
时间: 2024-07-29 04:00:07

select into from 和insert into select的用法和区别的相关文章

select into from和insert into select from两种表复制语句区别

select into from和insert into select from两种表复制语句区别 select * into target_table from source_table; insert into target_table(column1,column2) select column1,5 from source_table; 以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别.第一句(select into from)要求目标

select into from 与 insert into select 区别

1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量.示例如下: INSERT INTO SELECT语句复制表数据 --1.创建测试表 create TABLE Table1 ( a varchar(10), b varc

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

本文导读:Insert 是T-sql中常用语句,但我们在开发中经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个 table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了 select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建.insert into

select into from 和 insert into select

select into from 和 insert into select都是用来复制表, 两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建. insert into select from 要求目标表存在   备份表数据: create table emp as select * from scott.emp 还原表数据:insert into emp select * from scott.emp    1. 复制表结构及其数据: create

select into from 与insert into select from区别

select * into target_table from source_table; insert into target_table(col1, col2)select col1, 5 from source_table 相同点: 1.以上两句都是将源表source_table的记录插入到目标表target_table 不同点: 1.(select into from)要求目标表target_table不存在,因为在插入时会自动创建 (insert into select form)要求

PostgreSQL simple select(group by and insert into ...select)

warehouse_db=# create table student(number int primary key,name varchar(20),age int);CREATE TABLEwarehouse_db=# insert into student values (1,'David',20);INSERT 0 1warehouse_db=# insert into student values (2,'Luna',21);INSERT 0 1warehouse_db=# inser

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

SELECT * into xnbData from (select * from xnbXlsData) select * INTO xnbData from xnbXlsData  ------------------------------ Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我们在开发.测试过程中,经常会遇到需要表复制的情况,如

oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了. 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 注意:(1)要求目标表Table2必须存在,并且字段fie

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句.txt

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我们在开发.测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了. 1.INSERT INTO SELECT语句 语