事物的发展是循序渐进的,因此认识事物也应如此。
为了全面了解SQL命令,我们从Oracle版本6开始,构建一个最初的SQL命令清单,然后不断扩充其内容。
Oracle将SQL命令按功能分为六大类:
(1数据定义语言命令(Data Definition Language commands,简称DDL命令)
(2数据操纵语言命令(Data Manipulation Language commands,简称DML命令)
(3事务控制命令(Transaction Control commands)
(4会话控制命令(Session Control commands)
(5系统控制命令(System Control commands)
(6嵌入式SQL命令(EmbeddedSQL commands)
其中,DDL命令又分为如下细类:
· 对象的创建、修改与删除相关命令(create, alter, and drop objects)
· 授权、权限回收以及角色管理相关命令(grant and revoke privileges and roles)
· 表、索引及簇统计信息分析命令(analyze information on a table, index, orcluster)
· 数据库安全审计相关命令(establish auditing options)
· 数据库对象备注相关命令(add comments to the data dictionary)
首先看DDL命令。
还记得我们前面介绍的那些Oracle基本概念吗?这些概念对应了如下27个DDL命令:
上述命令的含义无须过多解释,大家一看自明。 值得关注的是,为什么没有DROP DATABASE、ALTER DATABASE LINK、ALTERSYNONYM、CREATE USER和DROP USER这些命令呢? 我猜测,Oracle一开始不提供DROP DATABASE命令的原因,是觉得这个命令过于危险;不提供ALTER DATABASE LINK和ALTER SYNONYM这两个命令,是因为数据库链接和同义词本身结构简单,没有修改的必要;而不提供CREATE USER和DROP USER命令的原因,是早期的Oracle采用系统用户登录的方式(和DB2类似)。(注意:Oracle在后续版本中陆续补充了CREATE USER,DROP USER, DROP DATABASE和ALTER DATABASE LINK这些命令。) 与授权及权限回收相关的DDL命令有2个:GRANT和REVOKE。前者用于授权,后者用于收回权限。 与数据库安全审计相关的DDL命令也有2个:AUDIT (Traditional Auditing)和NOAUDIT(Traditional Auditing),前者用于开启审计,后者用于取消审计。 COMMENT命令用于给数据库对象添加备注,RENAME命令用于重命名数据库对象,二者亦为DDL命令。 再看DML命令。 版本6中提供了如下6个DML命令: · INSERT、UPDATE、DELETE三个命令用于插入、修改及删除表中的行; · SELECT命令用于从表中检索行; · LOCKTABLE命令以显式的方式给表和视图加锁; · EXPLAINPLAN命令用于查看Oracle优化器预期的执行计划。 剩下5个命令是事务控制和会话控制命令: (1)COMMIT、ROLLBACK、SAVEPOINT和SETTRANSACTION这4个命令用来控制事务 (2)ALTER SESSION命令用于控制会话。 (注意,Oracle版本6中还没有系统控制命令,该命令在Oracle版本7中首次出现) 至此,我们构建了一个Oracle版本6的命令清单: |
itlife365 分享Oracle SQL命令通解三步曲 第二步了解Oracle版本6的SQL命令 end