没有合适的资源?快使用搜索试试~ 我知道了~
Oracle数据操作和控制语言详解[参照].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 35 浏览量
2021-10-12
23:44:05
上传
评论
收藏 139KB PDF 举报
温馨提示
试读
24页
Oracle数据操作和控制语言详解[参照].pdf
资源推荐
资源详情
资源评论
Oracle 数据操作和控制语言详解
[ 日期:
2005-11-01]
来源:天极网 作者:佚名
[ 字体:大 中
小]
SQL 语言共分为四大类:数据查询语言 DQL ,数据操纵语言 D
ML , 数据定义语言 DDL ,数据控制语言 DCL 。其中用于定义
数据的结构,比如 创建、修改或者删除 数据库 ;DCL 用于定义
数据库 用户的权限; 在这篇文章中我将详细讲述这两种语言在 O
racle 中的使用方法。
DML 语言
DML 是 SQL 的一个子集,主要用于修改数据,下表列出了
ORACLE 支持的 DML 语句。
语句 用途
INSERT 向表中添加行
UPDATE 更新存储在表中的数据
DELETE 删除行
SELECT FOR UPDATE 禁止其他用户访问 DML语句正在处理的行。
LOCK TABLE 禁止其他用户在表中使用 DML语句
插入数据
INSERT 语句常常用于向表中插入行, 行中可以有特殊数据
字段,或者可以用子查询从已存在的数据中建立新行。
列目录是可选的,缺省的列的目录是所有的列名,包括 co
mlumn_id,comlumn_id 可以在数据字典视图 ALL_TAB_COLU
MNS,USER_TAB_COLUMNS, 或者 DBA_TAB_COLUMNS 中
找到。
插入行的数据的数量和数据类型必须和列的数量和数据类
型相匹配。 不符合列定义的数据类型将对插入值实行隐式数据转
换。 NULL 字符串将一个 NULL 值插入适当的列中。关键字 NU
LL 常常用于表示将某列定义为 NULL 值。
下面的两个例子是等价的。
INSERT INTO customers(cust_id,state,post_code)
VALUE('Ariel',NULL,'94501');
或
INSERT INTO customers(cust_id,state,post_code)
VALUE('Ariel',,'94501');
更新数据
UPDATE 命令用于修改表中的数据。
UPDATE order_rollup
SET(qty,price)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE cus
tomer_id='KOHL'
WHERE cust_id='KOHL'
AND order_period=TO_DATE('01-Oct-2000')
删除数据
DELETE 语句用来从表中删除一行或多行数据, 该命令包含
两个语句:
1、关键字 DELETE FROM 后跟准备从中删除数据的表
名。
2、WHERE 后跟删除条件
DELETE FROM po_lines
WHERE ship_to_state IN ('TX','NY','IL')
AND order_date<TRUNC(SYSTEM)-90< td>
清空表
如果你想删除表中所有数据,清空表,可以考虑使用 DDL
语言的 TRUNCATE 语句。TRUNCATE 就像没有 WHERE 子句
的 DELETE 命令一样。 TRUNCATE 将删除表中所有行。 TRUN
CATE 不是 DML 语句是 DDL 语句,他和 DELETE 右不同的特
点。
TRUNCATE TABLE (schema)table DROP(REUSE) STORAGE
STORAGE 子串是可选的,缺省是 DROP STORAGE 。当
使用 DROP STORAGE 时将缩短表和表索引,将表收缩到最小
范围,并重新设置 NEXT 参数。 REUSE STORAGE 不会缩短
表或者调整 NEXT 参数。
TRUNCATE 和 DELETE 有以下几点区别
1、TRUNCATE 在各种表上无论是大的还是小的都非常快。
如果有 ROLLBACK 命令 DELETE 将被撤销,而 TRUNCATE
则不会被撤销。
2、TRUNCATE 是一个 DDL 语言,向其他所有的 DDL 语
言一样,他将被隐式提交,不能对 TRUNCATE 使用 ROLLBAC
K 命令。
3、TRUNCATE 将重新设置高水平线和所有的索引。在对
整个表和索引进行完全浏览时, 经过 TRUNCATE 操作后的表比
DELETE 操作后的表要快得多。
4、TRUNCATE 不能触发任何 DELETE 触发器。
5、不能授予任何人清空他人的表的权限。
6、当表被清空后表和表的索引讲重新设置成初始大小,而
delete 则不能。
7、不能清空父表。
SELECT FOR UPDATE
select for update 语句用于锁定行, 阻止其他用户在该行上
修改数据。当该行被锁定后其他用户可以用 SELECT 语句查询
该行的数据,但不能修改或锁定该行。
锁定表
LOCK 语句常常用于锁定整个表。 当表被锁定后, 大多数 D
ML 语言不能在该表上使用。 LOCK 语法如下:
LOCK schema table IN lock_mode
剩余23页未读,继续阅读
资源评论
cyh76339129
- 粉丝: 1
- 资源: 14万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功