zoukankan      html  css  js  c++  java
  • Oracle数据库SQL语句的分类

      

      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

        用于维护数据的一致性。

          包含:

          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进行了扩展,把数据库技术和过程化程序设计语言联系起来。

      过程化SQL语言(PL/SQL):PL/SQL是专用于Oracle服务器,在SQL基础之上,添加了一些过程化控制语句,叫PLSQL,过程化包括有:类型定义,判断,循环,游标,异常或例外处理等等,PLSQL主要强调过程。

        

     

     

     

  • 相关阅读:
    硬盘安装Win 7系统Windows 7 系统硬盘安装教程(图解)
    修改phpMyAdmin导入SQL文件的大小限制
    金三银四面试季节之Java 核心面试技术点
    2015年校园招聘12家IT公司面试体验
    正则表达式小结
    【译文】NginScript – 为什么我们要实现自己的JS引擎?
    经典算法合集
    【高级JSE技术】线程池
    【高性能服务器】Tomcat剖析
    【高性能服务器】Nginx剖析
  • 原文地址:https://www.cnblogs.com/joyfulcode/p/11755586.html
Copyright © 2011-2022 走看看