SQL中DDL,DML,DCL,DQL,TCL分别是什么

前端之家收集整理的这篇文章主要介绍了SQL中DDL,DML,DCL,DQL,TCL分别是什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sql简介

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嵌入到高级语言中,以便一起完成一个完整的应用。

1.  sql 分为五个部分:

  • 数据查询语言(DQL)

  • 数据操纵语言 (DML)

  • 数据定义语言 (DDL)

  • 数据库控制语言 (DCL)——一般用不到

  • 事务控制语言 (TCL)

2. 数据查询语言(Data QueryLanguage,DQL)

数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE

2.1 查询命令

子句组成的查询块:

SELECT <字段名表>  
FROM <表或视图名>  
WHERE <查询条件>

3. 数据操纵语言(Data Manipulation Language,DML)

sql语言中负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令,因此有很多开发人员都把加上sql的SELECT语句的四大指令以“CRUD”来称呼。

3.1 主要功能

DML 的主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。

3.2 查询和更新指令构成了 sql 的 DML 部分:

3.3 注意:

严格意义上来说呢。select的是属于 数据查询语言(Data QueryLanguage)但是为了比较容易记忆和区分出操纵数据库和不是操纵数据库。所以我们通常都会把增删改查放在一起。

4. 数据库模式定义语言DDL(Data Definition Language)

sql 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

4.1 sql 中最重要的 DDL 语句:

5. 数据库控制语言DCL(Data Control Language)

数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL

常用的语句关键字包括

  • COMMIT 提交 

  • SAVEPOINT  保存点 

  • ROLLBACK    回滚 

  • SET TRANSACTION   设置当前事务的特性,它对后面的事务没有影响

5.1 commit 提交

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

5.1.1 显式提交

用COMMIT命令直接完成的提交为显式提交。其格式为:

sql>COMMIT;

5.1.2 隐式提交

sql命令间接完成的提交为隐式提交。这些命令是:

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

5.1.3 自动提交

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

sql>SET AUTOCOMMIT ON;


参考:

https://blog.csdn.net/qq_28007533/article/details/72859882 

https://www.cnblogs.com/dato/p/7049343.html

https://baike.baidu.com/item/DML/10035808

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

猜你在找的MySQL相关文章