1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言,1987年在国际标准组织的支持下成为国际标准。不过各种通行的数据库系统其实在实践过程中都对SQL规范的作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。我们知道关系型数据库都遵循了ACID原则,且都统一的实现了SQL语句,以SQL语句为核心来实现数据的操作,在Oracle中的SQL语句与常见的数据库的SQL语句是有点不同的。

SQL简介:

  SQL(Structured Query Language)又叫“结构化查询语言”,简称:SQL。SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,是用于存取数据、查询数据、更新数据和删除数据的管理关系数据库系统语言。同时也是关系型数据库脚本文件的扩展名(.sql)。

Oracle中SQL的分类:

  在Oracle中SQL的整体结构如下:

  数据定义语言(DDL:Date Definition Language)

    用来创建、修改或删除表对象(库对象),管理表对象(库对象)。

    包含:CREATE(创建)、ALTER(修改)、DROP(删除)、TRUNCATE(清空)等。

  数据操作语言(DML:Date Manipulation Language)

    用来添加、更新和删除表对象内的数据。

    包含:INSERT(插入)、UPDATE(修改)、DELETE(删除)、MERGE(合并新旧数据)等。

  数据查询语言(DQL:Date Query Language)

    用来检索(查看)数据库中的数据。

    包含:SELECT(查询)、FROM(子句;后跟表名)、WHERE(子句;后跟查询条件)、以及很多用于方便检索用到的函数与检索算法。

  数据控制语言(DCL:Date Control Language)

    用于DBA执行权限授予和权限收回操作。

    包含:GRANT(授予)、REVOKE(撤销)等。

  事务控制语言(TCL:Transaction Control Language)(Oracle独有的)

    用于维护数据的一致性。

      包含:

      COMMIT:确认和提交已经进行的数据库改变
      ROLLBACK:撤销已经控模型的数据库的改变
      SAVEPOINT:设置保存点,取消部分数据库改变
      ROLLBACK TO SAVEPOINT:ROLLBACK会结束一个事物,而这个命令不会
      SET TRANSACTION:设置一个事物的属性(事物的隔离级别)
      READ COMMITTED:提交读,Oracle 默认的级别
      SET CONSTRAINT:在每个DML语句之后或事物提交之后,执行可延迟完整性的约束检查

    (注意:在Oracle中DDL是不需要TCL来提交事务的,因为DDL操作完成就直接默认会提交事务。)

  在Oracle中,一般用DDL来创建并定义表对象,用DML来操作表中的数据、用TCL来提交保存、最后用DQL来获取(查询)我们存入的数据。至于DCL的好处是用来分层管理,给各个用户之间权限的,一般我们授权或者撤销权限都要用到SYS用户的SYSDBA权限。

  除了TCL,Oracle中还独有会话控制语句(SCS:Session Control Statement)与嵌入式SQL语句(ESS:Embedded SQL Statement)。

  会话控制语句(SCS;Session Control Statement):

    ALTER SESSION:改变当前会话设置
    SET ROLE:启用和禁用角色
    ALTER SYSTEM:更改系统设置(不会隐式提交当前事物)

  嵌入式SQL语句(ESS:Embedded SQL Statement):

    OPEN、CLOSE、CONNECT、DESCRIBE、WHENEVER、PREPARE、EXECUTE、FETCH
    定义、分配、和释放游标:DECLARE CURSOR、OPEN、CLOSE
    指定一个数据库,并连接到该数据库:DECLARE DATABASE、CONNECT
    初始化描述符:DESCRIBE
    指定如何处理错误和警告:WHENEVE
    分析并运行SQL 语句:PREPARE、EXECUTE、EXECUTE IMMEDIATE
    从数据库中检索数据:FETCH

Oracle数据库SQL语句的分类的更多相关文章

  1. Oracle数据库SQL语句操作大全汇总

    数据库各个表空间增长情况的检查: SQL >SELECT A.TABLESPACE_NAME,( 1-(A.TOTAL)/B.TOTAL)* 100 USED_PERCENT FROM (SEL ...

  2. ORACLE数据库SQL语句的执行过程

    SQL语句在数据库中处理过程是怎样的呢?执行顺序呢?在回答这个问题前,我们先来回顾一下:在ORACLE数据库系统架构下,SQL语句由用户进程产生,然后传到相对应的服务端进程,之后由服务器进程执行该SQ ...

  3. Oracle之SQL语句的分类

    SQL简介 SQL:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库 ...

  4. Oracle数据库sql语句

    1.创建用户.赋权限.删除用户 create user test identified by test default test users temporary tablespace temp; gr ...

  5. 查询oracle 数据库 SQL语句执行情况

    1.查看总消耗时间最多的前10条SQL语句 select *  from (select v.sql_id,  v.child_number,  v.sql_text,  v.elapsed_time ...

  6. oracle数据库 SQL语句、内置函数大全

    1.数值函数 函数 返回值 样例 显示 CEIL(n)      大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n)  小于等于数 ...

  7. Oracle常用SQL语句大全

    常用Oracle数据库SQL语句汇总. 1.常用操作 --清空回收站purge recyclebin;--查询回收站select * from recyclebin--查询Oracle版本信息sele ...

  8. Oracle数据库sql命令整理

    转至:https://blog.csdn.net/weixin_43712330/article/details/88358604 以下为oracle数据库中sql语句的整理,将持续更新01. 如何登 ...

  9. Oracle中SQL语句分类

    Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlt ...

随机推荐

  1. 基本数据类型、包装类、String类型之间的相互转换

    @Testpublic void test2(){//基本数据类型.包装类-->到String类型的转换,调用String类型的静态方法valueOf()即可int i1 = 12;String ...

  2. Ubuntu 16.04 + GTX970 + cuda8.0.44安装配置等问题(转)

    参考:https://blog.csdn.net/u010094199/article/details/54380086 参考:https://blog.csdn.net/jonms/article/ ...

  3. 尝试用了一哈wepy框架的感想

    恶心死我, 1 在项目里出现了中文乱码(utf-8在wpy文件里有中文和注释--编译后就转化成乱码, 把代码拷在另外的项目里,(该项目没有中文乱码现象,)编译出来就出现中文乱码, 然后我再在所拷的代码 ...

  4. mysql AND运算符 语法

    mysql AND运算符 语法 作用:在 WHERE 子语句中把两个或多个条件结合起来.佛山大理石方尺 语法:SELECT * FROM 表名 WHERE 字段1 运算符 值 AND 字段2 运算符 ...

  5. vim插件cscope使用方法

    一.安装cscope 安装方式比较多样,可以在各自linux软件管理工具中安装,也可以去官网下载安装. sudo apt-get install cscope 二.插件安装 这里选择的是Vundle来 ...

  6. 【bzoj1927】[Sdoi2010]星际竞速

    题目描述: 10 年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一, 夺得这个项目的冠军无疑是很多人的梦想,来自杰森座 α星的悠悠也是其中之一. 赛车大赛的赛场由 N 颗行星和M条双向星际 ...

  7. IOC和AOP使用扩展之AOP详解实现类

    摘要:   “Depend on yourself” is what nature says to every man.  Parents can help you. Teachers can hel ...

  8. Anaconda-navigator 打不开的解决方法(亲测有效!)

    本文链接:https://blog.csdn.net/qq_42489092/article/details/92208822method_1:每当你打不开应用时,不妨试一下:用管理员身份运行 请用管 ...

  9. 多项式总结(unfinished)

    试试以二级标题为主的格式. 多项式相关 注:本篇博客不包含\(FFT\)基础姿势.如果您想要阅读本篇博客,请确保自己对\(FFT,NTT\)有基本的认识并且能够独立写出代码. 多项式是什么? 左转数学 ...

  10. 小程序封装wx.request,以及调用

    1.新建一个api目录,与pages同级 2.在api目录下新建一个api.js文件 3.编写代码 const host = 'http://test.test.cn' const wxRequest ...