• SQL语句分类简述


    1 概述

    SQL是一种用于数据库访问的非过程化语言,用户通过 SQL 描述其目标,之后 SQL 语言编译器自动地生成执行过程,控制数据库执行用户所期望的操作。本文大致介绍oracle中涉及到的一些语句。

    2 分类

    2.1 数据操作语言语句

    数据操作语言[Data manipulation language,DML]语句的作用是查询或操作已有方案对象内的数据。具体可以参考下表。

    关键词 作用
    SELECT 从一个或多个表或视图中查询数据;
    fetch 获取操作,是可滚动的[scrollable](见“可滚动游标”)
    INSERT 向表或视图中加入新数据行
    UPDATE 修改表或视图中已有数据行的列值
    MERGE 根据判断条件为表及视图插入或更新数据行
    DELETE 从表或视图中删除数据行
    EXPLAIN PLAN 查询 SQL 语句的执行计划[execution plan]
    LOCK TABLE 对表或视图加锁[lock],临时地限制其他用户访问此对象

    DML 语句是使用频率最高的 SQL 语句。

    2.2 数据定义语言语句

    数据定义语言[Data definition language,DDL]语句的作用是定义或修改方案对象[schema object]的结构,以及移除方案对象。具体可以参考下表。

    关键词 作用
    CREATE,ALTER,DROP 创建,修改,移除方案对象及其他数据库结构,包括数据库自身及数据库用户
    RENAME 修改方案对象名称
    TRUNCATE 删除方案对象的所有数据,但不移除对象结构
    GRANT,REVOKE 授予或收回权限及角色
    AUDIT,NOAUDIT 打开或关闭审计选项
    COMMENT 向数据字典中添加注释

    DDL 语句将隐式地提交之前的操作并开始一个新事务。

    2.3 事务控制语句

    事务控制语句[transaction control statement]的作用是管理 DML 语句对数据的修改,以及将逻辑上相关的 DML 语句组织为事务。具体如下表。

    关键词 作用
    COMMIT 将事务对数据的修改永久地保存到数据库
    ROLLBACK 还原事务对数据的修改,可还原到事务开始处或任意保存点[savepoint]
    SAVEPOINT 设置保存点以标识回滚位置
    SET TRANSACTION 设置事务的属性

    2.4 会话控制语句

    会话控制语句[session control statement]用于管理用户会话的属性。具体如下表。

    关键词 作用
    ALTER SESSION 执行特定操作,修改当前会话,例如启用或禁用 SQL 跟踪功能[SQL trace facility]
    SET ROLE 为当前会话启用或禁用角色[role](即一组权限的集合)

    2.5 系统控制语句

    系统控制语句[system control statement]用于修改 Oracle 数据库实例的属性。

    ALTER SYSTEM |用户可以使用此语句修改实例设置(例如共享服务进程的最小数量),终止进程[kill session],或执行其他操作。

    2.6 嵌入 SQL 语句

    用户可以使用嵌入 SQL 语句[embedded SQL statement]将 DDL,DML,及事务控制语句加入到以过程化语言编写的程序中。Oracle 预编译器[precompiler]能够处理这样的代码。具体可以参考下表。

    关键词 作用
    DECLARE CURSOR,OPEN,CLOSE 定义,分配,及释放游标[cursor]
    DECLARE DATABASE,CONNECT 选择一个 Oracle 数据库并进行连接
    DECLARE STATEMENT 分配变量名
    DESCRIBE 初始化描述符[descriptor]
    WHENEVER 设定如何处理错误及警告
    PREPARE,EXECUTE,EXECUTE IMMEDIATE 解析并执行 SQL 语句
    FETCH 从数据库中取回数据

    3 总结

    以上的内容参考了官方文档,熟悉这些语句关键词对于理解sql非常重要。

  • 相关阅读:
    初识ES5、ES6
    WEB前端性能优化之三——JavaScript优化
    Web前端浏览器兼容问题
    HTML5新特性
    WEB前端性能优化之二——css优化
    WEB前端性能优化之一——网页级优化
    CSS的一些案例和坑
    bootstrap插件--select2.js--一个基于jQuery的替换框
    boostrap插件---typeahead.js---输入提示下拉菜单
    border-radius:50%,在安卓上存在兼容问题
  • 原文地址:https://www.cnblogs.com/easonbook/p/10936597.html
Copyright © 2020-2023  润新知