ZT文萃

本博不原创,转帖自己感兴趣那些事人物,什么入眼贴什么,随心所欲。
posts - 93, comments - 5, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

DB2 insert语句三种格式

Posted on 2013-10-10 13:41 ZT文萃 阅读(498) 评论(1)  编辑  收藏 所属分类: 后台
From:
http://www.cnblogs.com/137913828S2/archive/2012/07/11/2585905.html

----start

    有点SQL基础的人都会写INSERT语句,可是有很大一部分人不知道DB2的INSERT语句有三种格式,即:一次插入一行,一次插入多行和从SELECT语句中插入。考虑下面的情况:

 
  1. CREATE TABLE USER  
  2. (  
  3. NAME VARCHAR(20) NOT NULL,---姓名  
  4. BIRTHDAY DATE---生日  
  5. );  

 

 

现在要求你插入一行数据,我们这么写:

 
  1. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('张三','2000-1-1');  

 

 

现在要求你插入三行数据,我们这么写:

 
  1. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('张三','2000-1-1');  
  2. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('李四','2000-1-1');  
  3. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('王五','2000-1-1');  

 

 

除此之外,我们还可以这么写:

 
  1. INSERT INTO USER (NAME,BIRTHDAY) VALUES  
  2. ('张三','2000-1-1'),  
  3. ('李四','2000-1-1'),  
  4. ('王五','2000-1-1');  

 

 

那么后一种写法有什么好处呢?有两点好处:

1、性能更好。

2、由于一条语句,所以它们是一个处理单元,要么都插入,要么都不插入。

 

除此之外,我们还可以从SELECT中插入,格式如下:

 
  1. INSERT INTO USER (NAME,BIRTHDAY)   
  2. SELECT <COLUMN1>,<COLUMN2> FROM <TABLE_NAME> WHERE ...  

 

 

以上比较简单,我就不举例子了。

 

---更多参见:DB2 SQL 精萃

----声明:转载请注明出处。

----last updated on 2009.11.5

----written by ShangBo on 2009.9.24

----end


评论

# re: DB2 insert语句三种格式  回复  更多评论   

2014-04-07 13:41 by 实事求是
我想说的是这不是DB2特有的, 基本上所有的RDBMS都支持,比如最常用MySQL, Oracle都支持这些写法。

只有注册用户登录后才能发表评论。


网站导航: