oracle中的insert语句

None.gif 在oracle中使用DML语言的insert语句来向表格中插入数据,先介绍每次只能插入一条数据的语法
None.gifINSERT  INTO   表名(列名列表)   VALUES(值列表);
None.gif注意:
None.gif当对表中所有的列进行赋值,那么列名列表可以省略,小括号也随之省略
None.gif必须对表中的非空字段进行赋值
None.gif具有默认值的字段可以不提供值,此时列名列表中的相应的列名也要省略
None.gif举例:有如下表格定义 
None.gifcreate table book(bookid 
char ( 10 ) not  null  , name varchar2( 60 ),price number( 5 , 3 ))
None.gif使用下面的语句来插入数据
None.gifINSERT INTO BOOK(bookid,name,price)   VALUES(
' 100123 ' , ' oracle sql ' , 54.70 );
None.gifINSERT INTO BOOK                         VALUES(
' 100123 ' , ' oracle sql ' , 54.70 );
None.gifINSERT INTO BOOK(bookid)           VALUES(
' 100123 ' );
None.gif由于bookid是非空,所以,对于book来说,至少要对bookid进行赋值,虽然这样的数据不完整
None.gif如果想往一个表格中插入多条数据,那么带有values子句的insert就不行了,这时候必须使用insert语句和select语句进行配合来实现同时插入多条数据:
None.gif例如:现在有一个空表a和一个有数据的表格b,他们的结构是一样, 把b表中的所有数据插入到a表中的语句是:
None.gifINSERT INTO A (列1,列2,列3dot.gif)  
None.gif            SELECT 列1,列2,列3dot.gif
None.gif            FROM B ; 
None.gif
-- 查询语句中可以使用任意复杂的条件或者子查询
None.gif如果数据的来源不是现存表的数据,也想多条插入那么使用如下的方法:
None.gifINSERT INTO  tablename(列1,列2,列3,dot.gif)
None.gifSELECT  值1,值2,值3dot.gif   FROM  DUAL
None.gifUNION
None.gifSELECT  值1,值2,值3dot.gif   FROM  DUAL
None.gifUNION
None.gifSELECT  值1,值2,值3dot.gif   FROM  DUAL
None.gifdot.gif dot.gif 
None.gif
None.gif如果上面的值有字符和日期型数据,那么使用单引号即可,每一个select语句得到一条数据,然后使用集合操作符union把多条数据合并到一个结果集中,来实现一次插入多条数据的功能
None.gif

转载于:https://www.cnblogs.com/shengel/archive/2007/06/06/773559.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值