中国唯一一家专业只做ARACLE认证和BDA实训的甲骨文金牌合作企业

网络授课

技术沙龙

Oracle基础培训:数据操纵语言(DML)-数据插入

Oracle基础培训:数据操纵语言(DML)-数据插入,用INSERT命令完成对数据的插入。

语法结构:根据结果集创建表

INSERT INTO 表名(列名1,列名2……) VALUES (1,值2……)

语法解析:

1. 列名可以省略。当省略列名时,默认是表中的所有列名,列名顺序为表定义中列的先后顺序。

2. 值的数量和顺序要与列名的数量和顺序一致。值的类型与列名的类型一致。

代码演示:向INFOS表和SCORES表中插入数据

SQL> INSERT INTO INFOS VALUES ( 

  2  's100102', '林冲', '', 22, 2,

  3  TO_DATE('2009-8-9 06:30:10',' YYYY-MM-DD HH24:MI:SS '), 

  4  '西安', '1001'

  5  )

  6  /

1 row inserted

SQL> INSERT INTO INFOS VALUES (

's100104','阮小二','',26,3,SYSDATE,default,'1001'); 

 1 row inserted

SQL>COMMIT; 

代码解析:

① 表名后面缺省了列名,默认是表Infos中的所有列名,values中的值要与表中列一一对应,包括顺序和数据类型的对应。在SQL*Plus中一条语句可以写在多行,那么从第二行开始,sqlplus会为每一行前面给出行号。

② 在Oracle中,日期是国际化的,不同的区域安装的数据库,默认的日期格式不同,因此为了程序便于移植,日期的输入要使用TO_DATE函数对日期格式化后输入,采用格式化字符串对日期进行格式化时,格式化字符串中字符不区分大小写,常见的格式化字符如下:

1. yyyy表示四位年份

2. mm表示两位月份,比如3月表示为03

3. dd表示两位日期

4. hh24表示小时从0-23,hh12也表示小时从0-11。

5. mi 表示分钟

6. ss表示秒

③ 在遇到存在默认值的列时,可以使用default值代替。

④ commit是把用户操作(添加、删除、修改操作)提交,只有提交操作后,数据才能真正更新到表中,否则其他用户无法查询到当前用户操作的结果。

在Oracle中,一个INSERT命令可以把一个结果集一次性插入到一张表中。使用的语句是:INSERT INTO 表 SELECT子句,如下示例:

代码演示:INSERT向表中插入一个结果集

SQL> INSERT INTO INFOS2 SELECT * FROM INFOS;

5 rows inserted

在这种语法下,要求结果集中每一列的数据类型必须与表中的每一列的数据类型一致,结果集中的列的数量与表中的列的数量一致。比如表INFOS2,该表的结构与INFO表一样,那么可以把INFO表中的所有记录一次性插入到INFOS2表中。

Oracle的简单查询和SQL Server一样都可以在查询列中使用常量,如图:

图3 Select中的常量

可以使用刚才的做法,把该结果集中的数据插入到表INFOS中。

代码演示:INSERT向表中插入一个常量结果集

SQL> INSERT INTO INFOS

SELECT 's100106','卢俊义','',23,5,

               TO_DATE('2009-8-9 08:00:10','YYYY-MM-DD HH24:MI:SS'),

               '青龙寺','1001'

FROM DUAL;

1 rows inserted

SQL>COMMIT;

CUUG 优技培训

中国Oracle培训领航专家

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。

金牌讲师

行业资深实战专家 让学习就像在就业
展开

实操环境

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

院校合作

学校新闻

行业新闻

在线预约 抢先报名 获取课程排期

请输入您的手机号

申请试听
版权所有:北京神脑资讯科技有限公司
地址:北京市海淀区紫竹花园4号楼D座703
全国免费咨询电话:400-0909-964
电话:010-59426307 ,邮政编码:100089
E-mail:cuug_bj@cuug.com
拨打电话
在线咨询
首页