从功能上划分,SQL 语言能够分为DDL,DML和DCL三大类。

1. DDL(Data Definition Language)

    数据定义语言,用于定义和管理 SQL 数据库中的全部对象的语言 ;

    CREATE---创建表

    ALTER---改动表

    DROP---删除表

    RENAME---重命名表

2. DML(Data Manipulation Language)

    数据操纵语言,SQL中处理数据等操作统称为数据操纵语言 ;

    INSERT---数据的插入

    REPLACE----同INSERT。只是在发生冲突时会运行替换,而不是报错。

    DELETE---数据的删除

    UPDATE---数据的改动

    SELECT---数据的查询------应该算DQL

3. DCL(Data Control Language)

    数据控制语言。用来授予或回收訪问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等;

    GRANT--- 授权。

    REVOKE--撤销授权。

    ROLLBACK---回滚。

COMMIT--- 提交。

4. 提交数据有三种类型:显式提交、隐式提交及自己主动提交。

以下分 别说明这三种类型。

(1) 显式提交

用 COMMIT 命令直接完毕的提交为显式提交。

   (2) 隐式提交

用 SQL 命令间接完毕的提交为隐式提交。

这些命令是:

ALTER 。 AUDIT 。 COMMENT 。 CONNECT 。 CREATE , DISCONNECT 。 DROP , EXIT ,
GRANT , NOAUDIT , QUIT 。
REVOKE , RENAME 。

(3) 自己主动提交

若把 AUTOCOMMIT 设置为 ON 。则在插入、改动、删除语句运行后,系统将自己主动进行提交,这就是自己主动提交。

其格式为: SQL>SET AUTOCOMMIT ON ;

     COMMIT / ROLLBACK这两个命令用的时候要小心。 COMMIT / ROLLBACK 都是用在运行 DML语句(INSERT / DELETE / UPDATE / SELECT )之后的。DML 语句,运行完之后。处理的数据,都会放在回滚段中(除了 SELECT 语句)。等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户运行 COMMIT / ROLLBACK后。放在回滚段中的数据就会被删除。

(SELECT 语句运行后,数据都存在共享池。提供给其它人查询同样的数据时,直接在共享池中提取,不用再去数据库中提取。提高了数据查询的速度。)

      全部的 DML 语句都是要显式提交的。也就是说要在执行完DML语句之后,执行 COMMIT 。而其它的诸如 DDL 语句的,都是隐式提交的。也就是说,在执行那些非 DML 语句后,数据库已经进行了隐式提交。比如 CREATE TABLE。在执行脚本后,表已经建好了,并不在须要你再进行显式提交。

在提交事务(commit)之前能够用rollback回滚事务。

SQL 语言划分的更多相关文章

  1. MySQL中的SQL语言

    从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类.1. DDL(Data Definition Language)数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 :CRE ...

  2. [SQL]SQL语言入门级教材_SQL语言快速入门(五)

    SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...

  3. 关于SQL语言分类

    从功能上划分,SQL语言可以分为DDL,DML和DCL三大类. 事务:可以作用在DML(update.insert.delete)语句上. 1. DDL(Data Definition Languag ...

  4. Impala SQL 语言元素(翻译)[转载]

    原 Impala SQL 语言元素(翻译) 本文来源于http://my.oschina.net/weiqingbin/blog/189413#OSC_h2_2 摘要 http://www.cloud ...

  5. Impala SQL 语言元素(翻译)

    摘要: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Usin ...

  6. 数据库系统学习(八)-SQL语言与数据库完整性和安全性

    第八讲 SQL语言与数据库完整性 重难点 数据库完整性的概念 关系数据库 防止和避免数据库中不合理数据的出现 输入错误,操作失误,程序处理错误等 完整性约束条件的一般形式 对O操作集合,当出现A情况时 ...

  7. 【SQL系列】从SQL语言的分类谈COMMIT和ROLLBACK的用法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SQL系列]从SQL语言的分类谈COMMIT和 ...

  8. 架构-数据库访问-SQL语言进行连接数据库服务器-DAO:DAO

    ylbtech-架构-数据库访问-SQL语言进行连接数据库服务器-DAO:DAO DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft ...

  9. SQL语言概况(4.1)

    SQL语言概况(4.1) 目录 SQL语言概况(4.1) 4.1 SQL语言概况 4.1.1 历史及标准简介 4.1.2 SQL语言定义及特点 4.1.3 使用说明 参考资料: 数据库原理及设计(第3 ...

随机推荐

  1. apktool 反翻译错误

    -出现 UndefinedResObject Exception : 这是因为被反编译的apk中有当前的framework不支持的属性:解决方式如下: 1.删除C:\Users\Administrat ...

  2. The following classes could not be found: - android.support.v7.internal.widget.ActionBarOverlayLayou解决方案

    如图出现如下的错误的时候,一般都是升级Androdi Studio 后导致的,引入库不全,或者其他 东西缺少,可以如下解决方案: 或者如下的解决方案: 在布局文件的Design界面中,修改原来的App ...

  3. asp.net 多站点共享FormAuthentication

    <authentication mode="Forms"> <forms  domain="lizhanglong.com" timeout= ...

  4. android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理

    代码如下:package com.android.xym; import java.io.IOException; import java.net.HttpURLConnection; import ...

  5. DINOR闪存知识

    闪速存储器(Flash Memory)是一类非易失性存储器NVM(Non-Volatile Memory)即使在供电电源关闭后仍能保持片内信息:而诸如DRAM.SRAM这类易失性存储器,当供电电源关闭 ...

  6. 如何使用Excel和Word编辑和打印条形码

    本文介绍如何使用Microsoft Office Excel 2007和Microsoft Office Word 2007进行条形码的编辑后,通过普通的办公打印机将条形码打印出来. 对于少量,简单的 ...

  7. delphi 7 信息对话框的按钮屏蔽键盘操作,只允许鼠标点击

    本问题由 delphi 学友QQ群中一位群友提出,个人觉得是一个好问题. 本教程源码下载 本教程面向新手,希望大家能从中学到除了本功能之外的真正编程技能. 本功能的实现原理,用窗口当对话框的界面,在界 ...

  8. tomcat链接mysql时超时报错java.io.EOFException: Can not read response from server. Expected to read 4 bytes,

    需要在配置文件里加上下面就ok了 <property name=”minEvictableIdleTimeMillis” value=”1800000″ /> <property n ...

  9. oracle中clob字段的使用

    oracle中定义了一个字段是clob的,由于用的是ssh的框架,结果在面向对象存取的时候出现clob类型字段和String类型字段的转换问题.开始查阅了clob字段和String字段的相互转换的方法 ...

  10. 国产编程语言R++ V1.5发布

    R++ v1.5内核改动较大,下面是一些主要变化: 1.使用PJIT(Pseudocode Just-In-Time),编译速度大幅提高,但运行效率远远不如C++,不过R++将在下一版本支持RJIT( ...