oracle中的insert语句

系统 1827 0

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

如果上面的值有字符和日期型数据,那么使用单引号即可,每一个select语句得到一条数据,然后使用集合操作符union把多条数据合并到一个结果集中,来实现一次插入多条数据的功能

oracle中的insert语句


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论