关于概念DDL、DML、DCL、TCL详细解释


本文摘自PHP中文网,作者一个新手,侵删。

作为经验丰富的开发人员,对于DDL、DML、DCL、TCL这些缩写词(名词)或许不会陌生,但是作为亿i个程序开发的新手可能就会有很多迷惑,接下来就给大家详细解释下,希望对读者有一定的帮助。

1、数据定义语言DDL
DDL((Data Definition Language):主要的命令有CREATE、ALTER、DROP等,用于定义/修改/删除数据对象(如表)的数据结构、数据类型、表之间的链接和约束等初始化工作,大多在建立表时使用,或者说,DDL语言操作的对象是数据库中的对象而非对象所包含的数据。

DDL包含以下语句:

1

2

3

4

5

6

7

8

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

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

3、DROP : 删除数据库中的对象

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

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

6、TRUNCATE TABLE : 清空表中数据

7、COMMENT : 给数据对象添加注释

8、RENAME : 更改数据对象名称

注意:
当执行DDL语句时,在每一条语句前后,数据库(oracle/Mysql)都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。

2、数据操作语言DML
DML(Data Manipulation Language):用于添加/删除/修改/查询/合并数据库中数据,比如SELECT、UPDATE、INSERT、DELETE、MERGE操作,是用来对数据库里的表数据进行操作的语言。

DML包含以下语句:

1

2

3

4

5

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

2、DELETE :从表或视图删除数据

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

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

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

注意:
当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。

3、数据控制语言DCL
DCL(Data Control Language):是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)。

DCL包含以下语句:

1

2

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

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

数据控制语言只要是对用户进行创建、删除、密码修改以及给用户赋予权限和删除权限?Y一系列操作。

4、事务控制语言(TCL)
TCL(Transaction Control Language):用来对事务进行管理。

TCL包含以下语句:

1

2

3

4

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

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

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

4、SET TRANSACTION : 设置事务选项

由于DML语句对表数据进行操作的时候都会加上行级锁,确认完成后,必须加上事物处理结束的命令COMMIT才能正式生效,否则改变不一定写入数据库里。如果想撤回这些操作, 可以用命令 ROLLBACK 复原。
在运行INSERT,DELETE和UPDATE语句前最好估算一下可能操作的记录范围,应该把它限定在较小范围内,例如一万条记录,否则ORACLE处理这个事物用到很大的回退段。程序响应慢甚至失去响应。如果记录数上十万以上这些操作。可以把这些SQL语句分段分次完成。其间加上COMMIT确认事物处理。

根据语句操作目标的不同,还是很好区分这四种类型:DDL-数据对象; DML-数据; DCL-权限; TCL-事务。
唯一需要注意的是TRUNCATE,尽管从功能上看相当于DELETE表中所有数据,但由于它所操作的对象是table这个级别而非row(由于某种原因不能立即删除表数据时,TRUNCATE会锁定整张表,而DELETE锁定的则是row),所以归在DDL中。

以上就是关于概念DDL、DML、DCL、TCL详细解释 的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

mysql安装与卸载详细教程

mysql中表分区的详细介绍

mysql基础入门的详细介绍

关于概念ddl、dml、dcl、tcl详细解释

数据库中数据模型的概念和分类是什么

关于oracle 11g服务器安装详细步骤图文详解教程

create database语句解释

mysql数据库的存储引擎详细讲解

关于mysql表,列,库增删改查的详细介绍

更多相关阅读请进入《解释》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...