详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp89
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的字段外,还可以插入常量。示例如下:
--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
转自:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html
相关推荐
第一句:SELECT * INTO [ToTable] FROM [FromTable] 第二句:INSERT INTO [ToTable] ([fild_One],[fild_Two]) ...第二句(INSERT INTO SELECT FROM)要求目标表[ToTable]存在,由于目标表已经存在,所以我们除了插入源
但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。...
在SQL中,表复制是常见的数据操作,主要通过两种语句来实现:`SELECT INTO` 和 `INSERT INTO SELECT`。这两种语句在SQL数据库和Oracle数据库中略有不同,下面将详细解析它们的工作原理和使用场景。 1. `INSERT INTO...
MySQL作为一种广泛使用的数据库管理系统,提供了多种用于数据复制的方法,其中`SELECT INTO`和`INSERT INTO SELECT`是两种非常实用的数据复制手段。本文将详细介绍这两种语法的具体用法及其应用场景。 #### 二、...
在数据库管理与操作中,`SELECT INTO`与`INSERT INTO SELECT FROM`是两种常见的用于复制或创建新表的方式。这两种语句虽然相似,但在实际使用场景中有着不同的作用和限制条件。 #### 1. `SELECT INTO` `SELECT ...
总结来说,SQL Server提供了`SELECT INTO`和`INSERT INTO...SELECT`两种语句用于数据迁移。而"SelectInsertTable"这样的工具进一步简化了这一过程,使得生成和执行`INSERT`语句更为便捷。在进行数据同步或备份时,...
在SQL语句中,`REPLACE INTO` 和 `INSERT INTO` 都是用来向数据库表中添加数据的命令,但它们之间存在重要的区别。本文将详细阐述这两种操作的区别以及使用场景。 首先,`INSERT INTO` 是最常用的插入数据的方式。...
1.INSERT INTO SELECT语句 语句形式为:...示例如下: INSERT INTO SELECT语句复制表数据 代码如下: –1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] P
SELECT语句,如 INSERT INTO # SELECT '0001','2004-4-5','2000','3000' INSERT INTO # SELECT '0002','2004-4-5','1000','5000' INSERT INTO # SELECT '0003','2005-6-7','1500','3000' INSERT INTO # ...
在SQL语言中,`INSERT INTO SELECT` 和 `SELECT INTO` 都是用来进行数据迁移或复制的语句,但它们在具体使用和功能上有所差异。接下来我们将深入探讨这两种语句的用法和区别。 首先,`INSERT INTO SELECT` 语句用于...
在实际应用中,SQL INSERT INTO 语句有多种用法,包括批量插入(一次插入多行数据)、从一个查询结果中插入数据、或者结合SELECT语句从一个表复制数据到另一个表。对于大数据操作,批量插入是非常常见的,可以显著...
总之,SELECT… INTO OUTFILE和mysqldump是MySQL中两种强大的数据导出工具,可以根据不同的需求选择合适的方法。它们提供了灵活的方式来处理和管理数据库中的数据,无论是进行备份、迁移还是数据分析,都能提供极大...
本文主要探讨了两种不同的插入数据的方法:`INSERT INTO...VALUES` 和 `INSERT INTO...SELECT`,并以MSSQL(Microsoft SQL Server)为例,分析它们在性能上的差异。 首先,`INSERT INTO...VALUES` 语句用于向表中...
总之,“数据库表导出insert语句工具”是数据库管理员和开发者的得力助手,能提高工作效率,简化数据迁移和复制过程。了解如何利用这类工具,无论是通过内置的数据库功能还是第三方应用,都是提升数据库管理技能的...
以下是如何将SQL Server表中指定数据转化为INSERT语句的详细步骤和相关知识点。 1. **使用SELECT INTO语句** SELECT INTO语句可以用于创建一个新的表,并从现有的表中插入数据。但是,这个方法不会包括自增列,...
Insert Into Select 语句可以将 Select 语句的结果插入到数据库中。例如: ```sql INSERT INTO table1 (field1, field2, ...) SELECT field1, field2, ... FROM table2; ``` 其中,`table1` 和 `table2` 是要插入的...