当前位置:  数据库>sqlserver

insert select与select into 的用法使用说明

    来源: 互联网  发布时间:2014-10-04

    本文导语:  insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据 select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,--创建一张新表,只复制选择的列名字段数据 Insert是T-sql中常用语句,Insert INTO table(field1...

insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据

select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,--创建一张新表,只复制选择的列名字段数据

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

代码如下:

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


2.SELECT INTO FROM语句

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

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

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

    
 
 

您可能感兴趣的文章:

  • mssql insert into 和insert into select性能比较
  • insert into select和select into的使用和区别介绍
  • 解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()
  • 如何在SELECT/INSERT...语句中加入变量?
  • select into与insert into的示例代码
  • INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别
  • select into 和 insert into select 两种表复制语句
  • select into与insert into select 表复制语句学习实例
  • SELECT INTO 和 INSERT INTO SELECT 两种表复制语句简单介绍
  • SELECT INTO与INSERT INTO SELECT表复制语句实例分享
  • insert into tbl() select * from tb2中加入多个条件
  • mysql中insert与select的嵌套使用方法
  • 解析MySQL中INSERT INTO SELECT的使用
  • mysql中insert与select的嵌套使用解决组合字段插入问题
  • 在Spring中用select last_insert_id()时遇到问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql Set IDENTITY_INSERT的用法
  • php pdo insert与pdo insertId的用法
  • 哪位大仙能给解释一下uart_insert_char()函数的用法
  • PHP MySQL Insert Into用法
  • MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解
  • C++ Double Ended Queues 成员 insert():insert elements into the dequeue
  • 急!!! JSP对数据库 INSERT 记录.....................HOLEN
  • C++ MultiMaps 成员 insert():插入元素
  • 为什么没有insert()方法?
  • C++ Maps 成员 insert():插入元素
  • INSERT出的问题,谢谢
  • C++ Lists(链表) 成员 insert():插入一个元素到list中
  • insert问题(初学者)
  • C++ Double Ended Queues(双向队列) 成员 insert():插入一个元素到双向队列中
  • 如何insert日期类型 ?
  • java命名空间java.awt类event的类成员方法: insert定义及介绍
  • 如何获的INSERT后的id(auto increment)的值?
  • java命名空间javax.swing枚举dropmode的类成员方法: on_or_insert定义及介绍
  • 关于shell下面insert键失灵的解决办法
  • java命名空间javax.accessibility接口accessibletablemodelchange的类成员方法: insert定义及介绍
  • last_insert_id()准确吗?
  • C++ Vectors 成员 insert():插入元素到Vector中
  • sql="insert into fr0"+"values ('4','name');";怎么老有错误?
  • java命名空间javax.swing.event类documentevent.eventtype的类成员方法: insert定义及介绍
  • sqlite的insert语句如何插入变量,问题解决,马上给分
  • java命名空间javax.swing枚举dropmode的类成员方法: on_or_insert_rows定义及介绍
  • PHP PDO数据库类的insert操作


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3