当前位置:  数据库>sqlserver

select into 和 insert into select 两种表复制语句

    来源: 互联网  发布时间:2014-09-05

    本文导语:  第一句:SELECT * INTO [ToTable] FROM [FromTable] 第二句:INSERT INTO [ToTable] ([fild_One],[fild_Two]) SELECT [fild_One], 8 FROM [FromTable] 以上两句都是将 [FromTable] 的数据插入到 [ToTable],但两句又有区别的: 第一句(SELECT INTO FROM)要求目标表[T...

第一句:SELECT * INTO [ToTable] FROM [FromTable]
第二句:INSERT INTO [ToTable] ([fild_One],[fild_Two]) SELECT [fild_One], 8 FROM [FromTable]

以上两句都是将 [FromTable] 的数据插入到 [ToTable],但两句又有区别的:

第一句(SELECT INTO FROM)要求目标表[ToTable]不存在,因为在插入时会自动创建。
第二句(INSERT INTO SELECT FROM)要求目标表[ToTable]存在,由于目标表已经存在,所以我们除了插入源表[FromTable]的字段外,还可以插入常量,如例中的:8。

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 

    
 
 

您可能感兴趣的文章:

  • insert into select和select into的使用和区别介绍
  • mssql insert into 和insert into select性能比较
  • INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别
  • select into与insert into的示例代码
  • select into与insert into select 表复制语句学习实例
  • SELECT INTO 和 INSERT INTO SELECT 两种表复制语句简单介绍
  • SELECT INTO与INSERT INTO SELECT表复制语句实例分享
  • insert select与select into 的用法使用说明
  • insert into tbl() select * from tb2中加入多个条件
  • 解析MySQL中INSERT INTO SELECT的使用
  • 语句:select max(age) from user,如何用在ResultSet中得到?!!
  • 困惑,select语句的问题
  • sql语句之SELECT语句用法示例
  • 如何在SELECT/INSERT...语句中加入变量?
  • sql 语句插入结果为select和值混合示例
  • 一条select语句引起的瓶颈问题思考
  • 怎样不执行SELECT SQL语句即可获得ResultSetMetaData实例????
  • mysql SELECT语句去除某个字段的重复信息
  • SQL SELECT DISTINCT 语句用法
  • 如何得到一个resultSet的长度,即一条select语句返回了多少符合条件记录
  • 在JSP中这个语句有何不妥?resultset rs;rs = stmt.executeQuery("select count(*) from test");
  • 语句: select * from table where name=string 怎样判断一条记录都没找到的情况。
  • php下巧用select语句实现mysql分页查询
  • 单个select语句实现MySQL查询统计次数
  • Mysql select语句设置默认值的方法
  • SQL Select语句完整的执行顺序
  • SQL中嵌套SELECT 语句用法示例
  • sql语句中update select语句用法
  • 为什么这条语句“select * from table1 group by field1,field2 ”在 Access 97下面的SQL编辑器里面 运行不了!!有谁知道什么原因??
  • 学习SQL语句(强大的group by与select from模式)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.accessibility类accessiblestate的类成员方法: selected定义及介绍
  • 究竟怎么样取得的<select name="select_user" size="8" multiple>值
  • java命名空间javax.accessibility类accessiblestate的类成员方法: selectable定义及介绍
  • man select 结果返回 No manual entry for select
  • java命名空间javax.swing.tree类defaulttreeselectionmodel的类成员方法: selection定义及介绍
  • select <0时调用exit(0),为什么程序没有退出,而是继续执行select了?
  • java命名空间javax.swing.tree类defaulttreecellrenderer的类成员方法: selected定义及介绍
  • select+read 读服务器发送过来的数据, 假设服务器调用close后, 客户端的select是否返回这个socket可读?
  • java命名空间java.awt.event类itemevent的类成员方法: selected定义及介绍
  • JDBC里select sum和select返回的字段类型不一样
  • java命名空间javax.swing类defaultbuttonmodel的类成员方法: selected定义及介绍
  • sql代码:select database select all table
  • java命名空间javax.swing.text.html类html.tag的类成员方法: select定义及介绍
  • Oracle中select 1和select *的区别
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: selected定义及介绍
  • jquery下拉select控件操作方法分享(jquery操作select)
  • java命名空间javax.swing.plaf.synth接口synthconstants的类成员方法: selected定义及介绍
  • 两个进程中的select的关系
  • java命名空间javax.sound.midi类shortmessage的类成员方法: song_select定义及介绍
  • 初学者 select的联动问题
  • java命名空间javax.swing类jfilechooser的类成员方法: cancel_selection定义及介绍
  • 奇怪的 select


  • 站内导航:


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

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

    浙ICP备11055608号-3