DQL、DML、DDL、DCL的概念与区别

    </h2><div class="postbody">

SQL(Structure Query Language)语言是数据库的核心语言。

SQL的发展是从1974年开始的,其发展过程如下:
1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。
1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R
时改为SQL。
1979年-----ORACLE公司发表第一个基于SQL的商业化RDBMS产品。
1982年-----IBM公司出版第一个RDBMS语言SQL/DS。
1985年-----IBM公司出版第一个RDBMS语言DB2。
1986年-----美国国家标准化组织ANSI宣布SQL作为数据库工业标准。
SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。
它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好
学的语言)。然而SQL语言由于以上优点,同时也出现了这样一个问题:
它是非过程性语言,即大多数语句都是独立执行的,与上下文无关,而
绝大部分应用都是一个完整的过程,显然用SQL完全实现这些功能是很困
难的。所以大多数数据库公司为了解决此问题,作了如下两方面的工作:
(1)扩充SQL,在SQL中引入过程性结构;(2)把SQL嵌入到高级语言中,
以便一起完成一个完整的应用。

二. SQL语言的分类

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

1. 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>

2 .数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE

3. 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
索引、同义词、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 视图 索引 同义词 簇

DDL操作是隐性提交的!不能rollback

4. 数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。

2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚---ROLLBACK
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
SQL>ROLLBACK;

3) COMMIT [WORK]:提交。

在数据库的插入、删除和修改操作时,只有当事务在提交到数据
库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看
到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。下面分
别说明这三种类型。

(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT;

(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON;

转载于:https://www.cnblogs.com/fan-yuan/p/7879353.html

SQL中的几大语言分类相关推荐

  1. SQL中数据操作语言 (DML) 和数据定义语言 (DDL)

     可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法.但是 SQL 语言也包含用于更新.插入和删除记录的语法. ...

  2. SQL中数据定义语言和数据操作语言的详细讲解

    我前面一篇博客讲解了什么是数据库中数据的定义语言和操作语言,接下来我们就详细讲解下 首先是数据的定义语言 1.CREATE DATABASE 语句 CREATE DATABASE 用于创建数据库. S ...

  3. oracle 中sql的分类,Oracle数据库语言分类

    Oracle数据库语言分类 一.DML(data manipulation language)数据操纵语言:查询.操纵数据表资料行 DML主要用来对数据库的数据进行一些操作. select : 检索数 ...

  4. VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件

    VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...

  5. r语言 分类变量 虚拟变量_R语言中的变量

    r语言 分类变量 虚拟变量 R语言| 变数 (R Language | Variables) In the previous tutorial, we have come across the bas ...

  6. sql中如何统计各种零件的总数量_数据蒋堂 | SQL是描述性语言?

    作者:蒋步星 来源:数据蒋堂 本文共1200字,建议阅读8分钟.用SQL写代码时一般不用再关心变量.循环的具体动作,但要操心表.字段这些概念上的计算过程. 我们在学习SQL时,常常会看到这样的论调:S ...

  7. sql azure 语法_在Azure Data Studio中学习用于SQL Notebook的Markdown语言

    sql azure 语法 Microsoft supports SQL Notebooks in Azure Data Studio. It is an exciting feature that a ...

  8. R语言使用table函数统计dataframe数据中的离散变量(分类变量、因子变量)数据列的每一种水平的统计计数

    R语言使用table函数统计dataframe数据中的离散变量(分类变量.因子变量)数据列的每一种水平的统计计数 目录

  9. c语言如何float转换到uint,float转为int sql中float怎样转成int

    C语言中float型转换成int型是什么规则 float型前24位是小数部分,后8位是指数部分.整型是16位,那是怎么转换C语言整型使用原码.反码.补码进行编码,而浮点型使用IEEE754进行编码,所 ...

最新文章

  1. 超 40W 奖金池等你来战!第二届“长沙银行杯”腾讯云启创新大赛火热来袭!...
  2. python用户名密码登录、错误三次结束_Python实现简单的用户登录信息确认,密码输错3次后,用户被锁定...
  3. 算法--旋转链表(Java)
  4. 为所有服务器端代码调用ConfigureAwait的最佳实践
  5. 完全优化MySQL数据库性能的八大巧方法
  6. python字典进行大写转化_Python字典转换成小写?
  7. e会学安庆师范大学c语言程序设计答案,宜春学院期末考试试卷C语言程序设计(4份,有答案)...
  8. 2999元起!Redmi K40系列不止骁龙888:还将标配双扬声器
  9. Spring身份验证+CXF拦截器+RESTful
  10. UVa 12261 High Score (贪心“向左走,向右走”)
  11. 【数据结构实验】队列的应用
  12. 2020 小米刷机相关总结
  13. web前端课程设计:猫咪领养网站 HTML+CSS+JavaScript
  14. 阿里云国际版建立云端数据库操作流程
  15. win10配置apache
  16. 弹性盒子布局flex
  17. Introduce to Inforamtion Retrieval读书笔记(1)
  18. DBA还是一份好工作吗?
  19. 华为手机关闭云空间之类的通知的方法
  20. 计算机网络常见面试题汇总(建议收藏)

热门文章

  1. n9005zhuenb6 Android 5,三星GalaxyNote3(港版N9005)刷机与ROOT方法-独木成林
  2. 原北京计算机学院并入那个学校了,北京高校合并历史,仅存一所本科“联合大学”的诞生...
  3. NBT:使用纳米孔测序从微生物组中得到完整闭环的细菌基因组
  4. 致我们曾追寻过的远方 ——《飞屋环游记》影评
  5. 使用tftp32软件对思科交换机导入导出配置【思科交换机技能进阶2】
  6. 艺龙h5酒店业务架构问题以及调优策略
  7. iPhone中将MP3设置为铃声
  8. HWC2CHW()不放在Compose中,如何单独使用?可以给一个例子吗?
  9. 演讲实录丨翁冬冬 新型虚拟现实体验形式及其在主题公园中的应用
  10. 【044】OEDC数据库-经合组织公开国家数据库