DDL/DML/DCL/TCL基本概念

1. 数据定义语言DDL

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

DDL包含如下语句:mysql

  • CREATE : 在数据库中建立新的数据对象
  • ALTER : 修改数据库中对象的数据结构
  • DROP : 删除数据库中的对象
  • DISABLE/ENABLE TRIGGER : 修改触发器的状态
  • UPDATE STATISTIC : 更新表/视图统计信息
  • TRUNCATE TABLE : 清空表中数据
  • COMMENT : 给数据对象添加注释
  • RENAME : 更改数据对象名称

2. 数据操做语言DML

DML(Data Manipulation Language),用于添加/修改/查询数据库中数据。sql

DML包含如下语句:数据库

  • INSERT :将数据插入到表或视图
  • DELETE :从表或视图删除数据
  • SELECT :从表或视图中获取数据
  • UPDATE :更新表或视图中的数据
  • MERGE : 对数据进行合并操做(插入/更新/删除)

3. 数据控制语言DCL

DCL(Data Control Language)用来向用户赋予/取消对数据对象的控制权限。数据结构

DCL包含如下语句:spa

  • GRANT : 赋予用户某种控制权限
  • REVOKE :取消用户某种控制权限

4. 事务控制语言(TCL)

 

TCL(Transaction Control Language)用来对事务进行管理。.net

TCL包含如下语句:对象

  • COMMIT : 保存已完成事务动做结果
  • SAVEPOINT : 保存事务相关数据和状态用以可能的回滚操做
  • ROLLBACK : 恢复事务相关数据至上一次COMMIT操做以后
  • SET TRANSACTION : 设置事务选项

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

惟一须要注意的是TRUNCATE,尽管从功能上看至关于DELETE表中全部数据,但因为它所操做的对象是table这个级别而非row(如因为某种缘由不能当即删除表数据时,TRUNCATE会锁定整张表,而DELETE锁定的则是row),因此归在DDL中。ip

相关文章
相关标签/搜索