一次插入多行数据的三种T-SQL语句

时间:2019-05-13 21:10:26下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《一次插入多行数据的三种T-SQL语句》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《一次插入多行数据的三种T-SQL语句》。

第一篇:一次插入多行数据的三种T-SQL语句

一次插入多行数据的三种T-SQL语句 一,INSERT……SELECT

将从表table2中查询到的数据插入到已建立的表table1(已建立)中

insert into table1(columnName1,columnName2,columnName3)

select table2columnName1,table2columnName2,table2columnName3

from table2

二,SELECT……INTO

将从表table2中查询到的数据插入到表table1(未建立)中

select table2columnName1,table2columnName2,table2columnName3

into table1

from rable2 Notice:1),table1在插入时自动建立,并将table2columnName1……作为新表table1的列名

2),若同时需要向表table1插入标识列,则要使用IDENTITY(数据类型,标识种子,标适增长量,)as列名。

Example:

select table2columnName1,table2columnName2,table2columnName3,identity(int,1,1)as ID into table1

from rable2

三UNION

UNION用于将两个不同的数据或查询结果合成一个新的结果集

insert table1(columnName1,columnName2,columnName3)

select '诺基亚','N95',3280 union

select '摩托罗拉','VE75',2680 union

select '三星' ,'SGH-U908E',2700

Notice:union不能用于插入含默认值的记录。

第二篇:SQL插入语句补充

--传统的插入语句insert into 表名(字段列表)values(值列表)--每次插入一行

--复制表的内容:从一张已经存在的表里面查询出一些数据插入到另外一张已经存在的表

insertinto tt(username,password)

select username,password from tt

--创建新表:tt3之前不能存在,由这句代码创建

select username,password into tt3 from tt

select*from tt3

第三篇:SQL语句 数据完整性控制

实验七 数据完整性控制

一、实验目的1、掌握数据完整性控制的几种定义方法;

2、利用T-SQL命令和图形化界面操作常用控制数据的方法。

二、实验任务

1、使用SSMS对StudentCourseMS数据库3个表的各类约束进

行定义、查看、修改、删除等基本操作;

2、使用T-SQL命令对StudentCourseMS数据库3个表的各类约束进行定义、查看、修改、删除等基本操作;

三、实验内容

1、主键约束

(1)创建新的表

A)单一字段上添加主键约束

Create table 学生表

(学号 char(12)constraint pk_xh primarykey,姓名 char(8)not null,性别 char(2))

B)多个字段上添加主键约束

Create table 学生选课表

(constraint pk_xx primary key(学号,课程号),学号 char(12),课程号 char(8),成绩 tinyint)

(2)修改表

Alter table 课程表

Add constraint pk_kch primary key(课程号);

Go

(3)删除主键约束

Alter table 课程表

Drop constraint pk_kch;

(4)查看约束

Sp_help pk_xh2、唯一约束

(1)在创建表时创建唯一约束

Create table 学生表

(学号 char(12)constraint pk_xh primarykey, 姓名 char(8)not null unique,性别 char(2))

(2)修改表

(3)删除唯一约束

(4)查看唯一约束

3、外键约束

4、检查约束

5、默认值约束

6、非空约束

第四篇:分享高性能批量插入和批量删除sql语句写法

分享高性能批量插入和批量删除sql语句写法

一,技术水平总能在扯皮和吹毛求疵中得到提高。如果从来不“求疵”,可能就不会知道if(str!= “")不如if(str!= string.Empty)高效、批量插入和删除的sql语句是要那样写才执行最快、接口和抽象类的区别不仅是语言层面、原来权限管理是要这样设计的、某个类那样设计职责才更单一更易于扩展……

本来前两篇文章是学习cnblogs编辑控件用的,看到跟贴的朋友询问批量插入和批量删除的问题,决定整理成文和大家分享。

我们这里讨论的只是普通sql语句如何写更高效,不考虑特殊的用文件中转等导入方式,毕竟在代码中调用sql语句或存储过程才更方便。

批量删除很简单,大家可能都用过:

DELETE FROM TestTable WHERE ID IN(1, 3, 54, 68)--sql2005下运行通过当用户在界面上不连续的选择多项进行删除时,该语句比循环调用多次删除或多条delete语句中间加分号一次调用等方法都高效的多。

本文重点讲述的是批量插入的写法:

sql写法:

INSERT INTO TestTable SELECT 1, 'abc' UNION SELECT2, 'bcd'UNION SELECT 3, 'cde'--TestTable表没有主键,ID不是主键

oracle写法:

INSERT INTO TestTable SELECT 1, 'abc' From daul UNION SELECT2, 'bcd' From daul--TestTable表没有主键,ID不是主键

曾经测试过,这种写法插入1000条数据比循环调用1000次insert或1000条insert语句简单叠加一次调用要高效得多,大概快20多倍(调试状态不是太准)。其实很简单,就用了个union(union all 也可以),但当时得出测试结果时还是很惊喜的。

要得出这个结果需要两个条件:

1、表不能有主键或者主键是数据库默认的(sql用自动递增列,oracle用序列)

2、组合sql语句时只能直接用字符串连接,不能用参数化sql语句的写法(就是在组合的sql中用@parm做占位符,再给Command对象添加Parameter)

以上两条任意一条不满足,效率的提高都不明显。

另外,sql语句的最大长度有限制,组合几千条数据写成一条insert语句,可能会超过上限,所以如果有5000条数据,可以一次insert 1000条,分5次写完(不一定一次1000条最合适,有兴趣的朋友可以研究)。

声明:看了几位朋友的评论后发现自己没有叙述清楚

上面的两个条件并不是说这样做就好,而是说当应用场景满足这两个条件时才适合用union的写法

当时用这种写法时,是为了解决一个WinForm程序批量导入手机号码的问题,程序给自己人用,excel文件也是可靠的,不需要考虑sql攻击。还有一些场景是大量数据来源于通过Gprs网络连接的专用终端,总之数据来源是可靠的,还有就是数据量很大但不可能巨大。

PS:常常遇到一些小技巧或者值得注意的小细节,没有记下来,要等下次再遇到时才想起来。现在下决心要养成好的工作习惯,留此文为证。

能够整理成文的要写在项目组开发规范中,其它的至少要记录下来。

二,使用mybatis将数据批量插入到oracle中,在映射文件中怎么写啊?

1.mybaits版本,3.1.0

2.1.2.3.4.5.6.7.insert into b_agent_info(id,hkgs,userName,custName,office,remark)values(#{item.id},#{item.hkgs},#{item.userName},#{item.custName},#{item

.office},#{item.remark})

8.9.

这个是参考网上的写法写的不过不支持向oracle中批量插入!

不知道有谁遇到过吗?或者给出解决方法,该怎么解决?

找到 一种 写法 分享 :

insert into

xxxxtable(hkgs,hkgsjsda,office,asdf,ddd,ffff,supfullName,classtype,agent_type,remark)

select #{item.hkgs,jdbcType=VARCHAR},#{item.hkgsjsda,jdbcType=VARCHAR},#{item.office,jdbcType=VARCHAR},#{item.asdf,jdbcType=VARCHAR},#{item.ddd,jdbcType=VARCHAR},#{item.ffff,jdbcType=VARCHAR},#{item.supfullName,jdbcType=VARCHAR},0,0,#{item.remark,jdbcType=VARCHAR} from dual

可以考虑用union all来实现批量插入。

例如:

insert into XX_TABLE(XX,XX,XX)select 'xx','xx','xx' union all select 'xx','xx','xx' union all select 'xx','xx','xx'...先拼装好语句再动态传入insert into XX_TABLE(XX,XX,XX)后面部分,不知道能不能帮你解决问题

第五篇:个人写真中英文句子插入唯美句子个人语句等

1.I love you not because of who you are, but because of who I am when I am with you.2.Thank you for staying with me.I know that I’m not always fun to be with but just know that I’m grateful.3.Nothing is difficult, if you put your heart to do it.4.There are both ending and process.I'd think I'm too greedy if I still can't let go.5.Someone told me before that once you lose it,the only thing you can do is remember it.6.Don't wait for the perfect moment.Seize this moment and make it perfect.7.Sometimes God doesn't give you what you want, not because you don't deserve it, but because you deserve more.8.The best way to get over someone, is to get under someone else.9.Good love makes you see the whole world from one person while bad love makes you abandon the whole world for one person.10.Ever has it been that love knows not its own depth until the hour of separation.11.To the world you may be one person, but to one person you may be the world.12.Love means never having to say you are sorry.13.I admit I really miss how things used to be.But I can also admit that I’ve accepted the fact that things changed.14.When I'm out, take me as the wind.15.Don't cry because it is over,smile because it happened.16.Don't try so hard,the best things come when you lease expect them to.17.Life is a pure flame,and we live by an invisible sun within us.18.Life isn't about waiting for the storm to pass, it's about learning to dance in the rain.19.For something, we can't understand when we are young but by the time we understand, we are no longer young.20.The world is such small,it's like when you turn around,you don't know who you will see.The world is so big,as if when you turn around,you never know who will disappear.21.Youth is not a time of life, it is a state of mind.22.Why you don’t let people see the good in you? Because when people see good, they expect good.23.My indifference is the pride that you don't understand.24.You never know how strong you really are until being strong is the only choice you have.25.我能想到最好的浪费时间的方法,就是和你在一起。我在闹,你在笑,如此安暖的过一生。

26.这世上,总会出现一个人,温暖你的现在,让你舍得丢弃所有的从前。27.我不想隔着人海与你相濡以沫,我要在你身边,每天晚上说晚安。28.世界这么大,我再也遇不见你,世界这么小,我还是忘不了你。29.我只是不想让你为难。我还记得我爱过的少年的你。30.忍不住买了一袋芥末鱿鱼,忍不住想起了你~ 31.夏天的风我都还记得,今日宜吃西瓜吐米米忌想念青春~ 32.合江亭的风吹绿了九眼桥的梦,以梦为马,奔向星辰大海~ 33.过敏也是一件看心情的事~ 34.至今我还是不知道格桑花是什么样~ 35.从前从前有个人爱你很久,但偏偏雨渐渐把距离吹得好远,好不容易又能再多爱一天,但故事的最后你好像还是说了吧~ 36.每个人都是通过自己的努力,去决定自己生活的样子。37.我终究还是一个人去完成了你说好要陪我去完成的梦想~ 38.有时候会在老家看那个斑驳的已经褪色的红灯笼,想念阳光下的我们。

39.没有人会记住一切,你只会记住你想记住的。每一个现在到了下一秒都会成为过去的。我们都变了,我们回不去了,时间不会等我们……

40.泡芙早就戒了,难过的时候吃泡芙也不会开心啊,只会长胖而已。41.没有月亮的夜晚没有人等我,那我也可以慢慢走,也好。

42.每次在成都看到好多小名片都想捡一张打电话,一直没有人陪我做这件事。43.人生最遗憾的莫过于轻易地放弃了不该放弃的,固执地坚持了不该坚持的。可当时的我们怎么辨别什么该放弃什么该坚持呢?

44.羡慕仙侠剧那样的感情,现实太现实,说剧太傻逼。——你不懂的金庸,你不懂的《花千古》

45.旅途还是不错的,其中的快乐不快乐都终将成为回忆。46.还是喜欢绿萝,坚韧善良,守望幸福。

47.不必纠结于当下,也不必忧虑未来,当你经过一些事的时候,眼前的风景已经跟从前的不一样。

48.总有一段时间会对自己不满意,想一巴掌拍死自己,何况他人。49.笑自己太笨,还是不喜欢用九宫格。

50.超级想念拉布拉多,也想念说拉布拉多怎样的你~ 51.我想有些人终将会再次相遇,只是不能想象在什么时间什么地点遇见,这就是生活奇妙之处吧!

52.画在手上的表没有动,却带走了我们美好的时光。

53.有一天晚上,梦一场,你白发苍苍,说带我流浪,我还是没犹豫,就随你去天堂。不管能怎样,我能陪你到天亮~ 54.以后好好教教儿子,我教唱歌,你教画画……说好的以后呢,以前要的不是这种以后~ 55.我们在时光里穿梭,可是时光是小偷,会偷走我们年华里的记忆。那些事那些人早已模糊远去,那些年珍贵的东西已经失去了价值。我们回不去了,再也回不去了。56.有一种美好叫青春,你爱谈天,我爱笑。青葱的岁月,你还记得么? 57.亲爱的,山高水长,愿不负此生。

下载一次插入多行数据的三种T-SQL语句word格式文档
下载一次插入多行数据的三种T-SQL语句.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐