您的位置:首页 > 数据库

数据库:DDL/DML/DCL/TCL基本概念

2017-02-07 22:36 513 查看

DDL(Data Definition Language)

数据定义语言, 用于定义/修改/删除数据对象(如表)的数据结构。DDL语言操作的对象是数据库中的对象而非对象所包含的数据。

DDL包含以下语句:

- CREATE : 在数据库中创建新的数据对象

- ALTER : 修改数据库中对象的数据结构

- DROP : 删除数据库中的对象(可以删除数据表、索引、触发程序、条件约束以及数据表的权限等)

- DISABLE/ENABLE TRIGGER : 修改触发器的状态

- UPDATE STATISTIC : 更新表/视图统计信息

- TRUNCATE TABLE : 清空表中数据

- COMMENT : 给数据对象添加注释

- RENAME : 更改数据对象名称

DDL用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表、视图等等,DDL对这些对象和属性的管理和定义具体表现在Create、Drop和Alter上。特别注意:DDL操作的“对象”的概念,”对象“包括对象及对象的属性,而且对象最小也比记录大个层次。以表举例:Create创建数据表,Alter可以更改该表的字段,Drop可以删除这个表,从这里我们可以看到,DDL所站的高度,他不会对具体的数据进行操作。

DML(Data Manipulation Language)

数据操作语言,用于添加/修改/查询数据库中数据。

DML包含以下语句:

- INSERT :将数据插入到表或视图

- DELETE :从表或视图删除数据

- SELECT :从表或视图中获取数据

- UPDATE :更新表或视图中的数据

- MERGE : 对数据进行合并操作(插入/更新/删除)

DML用于操作数据库对象中包含的数据,也就是说操作的单位是记录。

DCL(Data Control Language)

DCL用来向用户赋予/取消对数据对象的控制权限。

DCL包含以下语句:

- GRANT : 赋予用户某种控制权限

- REVOKE :取消用户某种控制权限

TCL(Transaction Control Language)

事务控制语句,用来对事务进行管理。

TCL包含以下语句:

- COMMIT : 保存已完成事务动作结果

- SAVEPOINT : 保存事务相关数据和状态用以可能的回滚操作

- ROLLBACK : 恢复事务相关数据至上一次COMMIT操作之后

- SET TRANSACTION : 设置事务选项

DQL

数据查询语言(DQL)。

例如:SELECT语句。(一般不会单独归于一类,因为只有一个语句)。

总结

根据语句操作目标的不同,还是很好区分这四种类型:DDL-数据对象; DML-数据; DCL-权限; TCL-事务。

唯一需要注意的是TRUNCATE,尽管从功能上看相当于DELETE表中所有数据,但由于它所操作的对象是table这个级别而非row(如由于某种原因不能立即删除表数据时,TRUNCATE会锁定整张表,而DELETE锁定的则是row),所以归在DDL中。

SQL主要分成四部分:

(1)数据定义。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。

(2)数据操纵。(SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。

(3)数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。

(4)嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。

DDL: 数据对象 DML: 数据 DCL: 权限 TCL: 事务

参考

http://www.jb51.net/article/40359.htm

http://www.cnblogs.com/henryhappier/archive/2010/07/05/1771295.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: