select into from跟insert into select from两种表复制语句区别
发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
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)要求目标表target_table不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表target_table存在,由于目标表已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量,如例中的:5。
无论是select into from还是insert into select from, from后面的都是源表(source_table),Into后面的是目标表(target_table)
1、Insert into Select from 语句
语句形式为:Insert into targer_table(field1,field2,...) select value1,value2,... from source_table
要求目标表 targer_table必须存在,由于目标表targer_table已经存在,所以我们除了插入源表source_table的字段外,还可以插入常量。示例如下:
--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 targer_tablefrom source_table
要求目标表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
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
如何将从数据库查找出的对相(集合)转化成转化成属性的形式。
如何转化成**
解决方案:重写toString()这个方法,但是首先要...
-
多部件上传excel文档,解析后存入mysql数据库
说明:此处使用的是java的ssm框架
jsp的界面
...
-
oracle怎样创建表空间和用户
1)创建表空间。在sql窗口中输入create tablespace test datafile 'D:test.ora' size 1000m;这...
-
创建函数例子
创建mysql的函数的例子
BEGIN
declare current_sequence bigint;
select sequence into current_sequence...
-
怎样利用JDBC连接并操作Oracle数据库
怎样利用JDBC连接并操作Oracle数据库
...
-
Hadoop 50070端口打不开怎么办?hadoop课程
Hadoop 50070是hdfs的web管理页面,在搭建Hadoop集群环境时,有些大数据开发技术人员...
-
Oracle的连接详解(左连接、右连接、全连接...)
https://www.cnblogs.com/guogl/articles/5929852.html
1 说明:
提到数据...
-
再谈全局网HBase八大应用场景
摘要: HBase可以说是一个数据库,也可以说是一个存储。拥有双重属性的HBase天生就具备广阔的...
-
Oracle 中分组后,如何拼接字符串
Oracle在版本11g提供的listagg函数之前,如果要对字符串的字段进行聚合即拼接字段内容的话,有...
-
Druid 是 Java 的数据库连接池组件。Druid 能够提供强大的监控和扩展功能。比如可以监控 SQL ,在监控业务可以查询慢查询 SQL 列表...