oracle中的insert语句

关键字: ORACLE insert into table
oracle中的insert语句
在oracle中使用DML语言的insert语句来向表格中插入数据,先介绍每次只能插入一条数据的语法
INSERT 
INTO  表名(列名列表)   VALUES(值列表);
注意:
当对表中所有的列进行赋值,那么列名列表可以省略,小括号也随之省略必须对表中的非空字段进行赋值
具有默认值的字段可以不提供值,此时列名列表中的相应的列名也要省略
举例:有如下表格定义
create table book(bookid char(10) not null , namevarchar2(60),price number(5,3))
使用下面的语句来插入数据
INSERT INTOBOOK(bookid,name,price) 
 VALUES('100123','oracle sql',54.70);
INSERT INTOBOOK 
                       VALUES('100123','oracle sql',54.70);
INSERT INTOBOOK(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把多条数据合并到一个结果集中,来实现一次插入多条数据的功能。

引用
要点:

一条语句只能插入一张表中1行纪录
一条语句可以插入多张表中,每张表中1行纪录

如果想一条语句插入表中多行纪录,必须用这样的语句从别的表中选择数据才可以,
insert into .....select * from .....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值