SQL中SELECT INTO和INSERT INTO SELECT语句介绍

数据库 SQL Server
将整个table1复制到table2中,我们需要使用SELECT INTO 和 INSERT INTO SELECT 这两个表复制语句,下面就将为您介绍这两种表复制语句。

SQL SERVER数据库中,表复制是经常要用到的操作,下面就将为您介绍SQL中SELECT INTO和INSERT INTO SELECT语句,供您参考。

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

1.INSERT INTO SELECT语句

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

要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:

[[15153]][[15154]]
   --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]#p#
    
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

2.SELECT INTO FROM语句

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

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

[[15153]][[15154]]
   --1.创建测试表
    create TABLE Table1
    (
        a 
varchar(10),
        b 
varchar(10),
        c 
varchar(10),
        
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
        (
            a 
ASC
        )
    ) 
ON [PRIMARY]
    
GO#p#

    
--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

 

 

【编辑推荐】

SQL中select语句返回多条记录给变量赋值的处理

对SQL Server中任意select语句分页的存储过程

使用SQL中SELECT语句的使用条件逻辑

为您讲解SQL的SELECT语句

sql server增加及删除约束的方法

责任编辑:段燃 来源: 博客园
相关推荐

2010-09-03 15:39:24

SQLSelect语句

2023-03-30 09:10:06

SQLSELECTFROM

2010-07-02 13:18:01

SQL Server

2010-11-11 11:37:22

SQL SELECT语

2010-09-03 14:39:15

SQLSELECT语句

2011-07-22 16:59:30

MySQL数据库嵌套查询

2010-11-11 11:49:02

SQL嵌套SELECT

2010-09-07 16:38:36

SQL语句SELECT DIST

2020-04-30 10:07:54

数据库数据迁移Insert into

2010-09-03 14:47:50

SQLSELECT语句

2010-09-25 14:44:45

SQL select语

2010-09-13 10:55:44

SQL Server

2010-09-03 14:31:31

SQLSELECT语句

2024-03-06 08:18:22

语句GreatSQL

2010-09-03 14:56:12

SQLSELECT语句

2018-08-23 09:10:01

数据库MySQLInnoDB

2018-08-27 07:29:34

InnoDBinsertselect

2009-02-06 09:42:00

sql嵌套serverSELECT

2010-09-03 15:08:03

SQLselect语句

2010-09-03 15:17:18

SQLselect语句
点赞
收藏

51CTO技术栈公众号