加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Oracle数据操作和控制语言分析

发布时间:2022-01-03 23:28:21 所属栏目:语言 来源:互联网
导读:正在看的ORACLE教程是:Oracle数据操作和控制语言详解。 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。其中用于定义数据的结构,比如 创建、修改或者删除数据库;DCL用于定义数据库用户的权限;在这篇文章中
正在看的ORACLE教程是:Oracle数据操作和控制语言详解。
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。其中用于定义数据的结构,比如 创建、修改或者删除数据库;DCL用于定义数据库用户的权限;在这篇文章中我将详细讲述这两种语言在Oracle中的使用方法。
 
  DML语言
 
  DML是SQL的一个子集,主要用于修改数据,下表列出了ORACLE支持的DML语句。
 
 
  插入数据
 
  INSERT语句常常用于向表中插入行,行中可以有特殊数据字段,或者可以用子查询从已存在的数据中建立新行。
 
  列目录是可选的,缺省的列的目录是所有的列名,包括comlumn_id,comlumn_id可以在数据字典视图ALL_TAB_COLUMNS,USER_TAB_COLUMNS,或者DBA_TAB_COLUMNS中找到。
 
  插入行的数据的数量和数据类型必须和列的数量和数据类型相匹配。不符合列定义的数据类型将对插入值实行隐式数据转换。NULL字符串将一个NULL值插入适当的列中。关键字NULL常常用于表示将某列定义为NULL值。
 
  下面的两个例子是等价的。
 
 
 
 
  或
 
 
  更新数据
 
  UPDATE命令用于修改表中的数据。
 
 
  删除数据
 
  DELETE语句用来从表中删除一行或多行数据,该命令包含两个语句:
 
   1、关键字DELETE FROM后跟准备从中删除数据的表名。
 
   2、WHERE后跟删除条件
 
 
  清空表
 
  如果你想删除表中所有数据,清空表,可以考虑使用DDL语言的TRUNCATE语句。TRUNCATE就像没有WHERE子句的DELETE命令一样。TRUNCATE将删除表中所有行。TRUNCATE不是DML语句是DDL语句,他和DELETE右不同的特点。
 
 
  STORAGE子串是可选的,缺省是DROP STORAGE。当使用DROP STORAGE时将缩短表和表索引,将表收缩到最小范围,并重新设置NEXT参数。REUSE STORAGE不会缩短表或者调整NEXT参数。
 
  TRUNCATE和DELETE有以下几点区别
 
  1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。
 
  2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
 
  3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。
 
  4、TRUNCATE不能触发任何DELETE触发器。
 
  5、不能授予任何人清空他人的表的权限。
 
  6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
 
  7、不能清空父表。
 
  SELECT FOR UPDATE
 
  select for update语句用于锁定行,阻止其他用户在该行上修改数据。当该行被锁定后其他用户可以用SELECT语句查询该行的数据,但不能修改或锁定该行。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读