数据库:DDL/DML/DCL/TCL基本概念
SQL(Structure Query Language)语言是数据库的核心语言
1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件>
2 .数据操纵语言DML 数据操纵语言DML主要有三种形式: 1) 插入:INSERT 2) 更新:UPDATE 3) 删除:DELETE 都要commit ,还可以rollback
3. 数据定义语言DDL 数据定义语言DDL用来创建数据库中的各种对象-----表、视图、 索引、同义词、聚簇等如: CREATE TABLE/VIEW/INDEX/SYN/CLUSTER | | | | | 表 视图 索引 同义词 簇 DDL操作是隐性提交的!不能rollback 。
4. 数据控制语言DCL 数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等。如: 1) GRANT:授权。
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: 事务
原文:https://blog.csdn.net/nowuseeme/article/details/54917492
来自:https://www.cnblogs.com/springwind268/p/3895839.html
数据库:DDL/DML/DCL/TCL基本概念的更多相关文章
- 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL
作者:泥瓦匠 今天群里面讨论,DDL 还是 DML,我这种小白还是总结下他们的区别吧. 1. DDL - Data Definition Language 数据库定义语言:定义数据库的结构. 其主要命 ...
- 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL(转)
今天群里面讨论,DDL 还是 DML,我这种小白还是总结下他们的区别吧. 1. DDL – Data Definition Language 数据库定义语言:定义数据库的结构. 其主要命令有CREAT ...
- SQL四种语言:DDL,DML,DCL,TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...
- SQL 四大功能DDL/DML/DCL/TCL
SQL主要分成四部分:(1)数据定义.(SQL DDL)用于定义SQL模式.基本表.视图和索引的创建和撤消操作.(2)数据操纵.(SQL DML)数据操纵分成数据查询和数据更新两类.数据更新又分成插入 ...
- SQLServer语言之DDL,DML,DCL,TCL
数据库语言分类 SQLServer SQL主要分成四部分: (1)数据定义.(SQL DDL)用于定义SQL模式.基本表.视图和索引的创建和撤消操作. (2)数据操纵.(SQL DML)数据操纵分 ...
- SQLServer 里面的 DDL,DML,DCL,TCL(转)
1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or sch ...
- SQLServer 里面的 DDL,DML,DCL,TCL
1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or sch ...
- SQL中的四种语言DDL,DML,DCL,TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...
- SQL语言DDL DML DCL TCL四种语言
1.DDL(Data Definition Language)数据库定义语言:DDL使我们有能力创建或删 除表格.可以定义索引(键),规定表之间的链接,以及施加表间的 约束. • 常见DDL 语句: ...
随机推荐
- .net mvc 设置div的动态部分视图内容 dynamic partial view
示例效果:点击按钮,在div中 显示不同的partial view的内容 $("#btnEdit").click(function () { //动态获取相应的部分视图 var u ...
- js【jquery】-事件
1.event对象 在IE.chrome中它是全局变量 与事件相关的信息会保存在event对象中,只有在事件发生的过程中,event才有信息 在其他浏览器中: 通过事件函数的第一个参数传入的 even ...
- js Base64与字符串互转
1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset ...
- vs2013项目停止调试后 iis express也跟着退出
解决方法:项目—>XX属性—>Web—>调试器—>取消[启用编辑并继续]
- Linux 套接字编程 - select
select 可以感知文件表述符集合中的变化,如果办fd0(即标准输入)放入select的read fd set,发现只有按回车的时候select才会返回.查了下要把终端的缓冲大小设为1,这样就能实现 ...
- 【代码笔记】Java基础:Java的方法和类
面向过程与面向对象都是我们编程中,编写程序的一种思维方式.例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等), 按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生 ...
- Nodejs 如何制作命令行工具
# 全局安装,安装报错是需要前面加上sudo $ sudo npm install -g xxxb # 输出帮助 $ xxxb -h Usage: xxxb 这里是我私人玩耍的命令哦![options ...
- qt 创建线程
http://www.cnblogs.com/xinxue/p/6840315.html Qt 之 QtConcurrent 本文以 Qt 中的 QtConcurrent::run() 函数为例,介绍 ...
- QTableview 只显示横向线
#include <QApplication> #include <QTableWidget> #include <QPainter> #include <Q ...
- 2017年Nature文章“Millions of online book co-purchases reveal partisan differences in the consumption of science”阅读笔记
论文: Millions of online book co-purchases reveal partisan differences in the consumption of scie ...