ddl,dml和dcl的含义


Posted in 面试题 onMay 08, 2016
DDL :数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言
1.CREATE – to create objects in the database 创建数据库对象
2.ALTER – alters the structure of the database 修改数据库对象
3.DROP – delete objects from the database 删除数据库对象
4.TRUNCATE – remove all records from a table, including all spaces allocated for the records are removed
TRUNCATE TABLE [Table Name]。
下面是对Truncate语句在MSSQLServer2000中用法和原理的说明:
Truncate table 表名 速度快,而且效率高,因为:
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。
对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
TRUNCATE TABLE 不能用于参与了索引视图的表。
5.COMMENT – add comments to the data dictionary 注释
6.GRANT – gives user’s access privileges to database 授权
7.REVOKE – withdraw access privileges given with the GRANT command 收回已经授予的权限

DML:数据操作语言,SQL中处理数据等操作统称为数据操纵语言
1.SELECT – retrieve data from the a database 查询数据
2.INSERT – insert data into a table 添加数据
3.UPDATE – updates existing data within a table 更新数据
4.DELETE – deletes all records from a table, the space for the records remain 删除
5.CALL – call a PL/SQL or Java subprogram
6.EXPLAIN PLAN – explain access path to data
Oracle RDBMS执行每一条SQL语句,都必须经过Oracle优化器的评估。所以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语句有很大的帮助。Explain可以用来迅速方便地查出对于给定SQL语句中的查询数据是如何得到的即搜索路径(我们通常称为Access Path)。从而使我们选择最优的查询方式达到最大的优化效果。
7.LOCK TABLE – control concurrency 锁,用于控制并发

DCL:数据控制语言,用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等
COMMIT – save work done 提交
SAVEPOINT – identify a point in a transaction to which you can later roll back 保存点
ROLLBACK – restore database to original since the last COMMIT 回滚
SET TRANSACTION – Change transaction options like what rollback segment to use 设置当前事务的特性,它对后面的事务没有影响.

Tags in this post...

面试题 相关文章推荐
如何使用PHP session
Apr 21 面试题
一份全面的PHP面试问题考卷
Jul 15 面试题
serialVersionUID具有什么样的特征
Feb 20 面试题
普天C++笔试题
Mar 20 面试题
哪些情况下不应该使用索引
Jul 20 面试题
ddl,dml和dcl的含义
May 08 面试题
C#的几个面试问题
May 22 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Sep 07 面试题
中科方德软件测试面试题
Apr 21 面试题
测试驱动开发的主要步骤是什么
Dec 10 面试题
DTD的含义以及作用
Jan 26 面试题
Ejb技术面试题
Apr 29 面试题
索引覆盖(Index Covering)查询含义
Feb 18 #面试题
为什么group by 和order by会使查询变慢
May 16 #面试题
写出SQL四条最基本的数据操作语句(DML)
Dec 12 #面试题
介绍一下SQL注入攻击的种类和防范手段
Feb 18 #面试题
试解释COMMIT操作和ROLLBACK操作的语义
Jul 25 #面试题
怎么可以提高数据库查询数据的速度
Jun 28 #面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 #面试题
You might like
php 调用远程url的六种方法小结
2009/11/02 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
php控制文件下载速度的方法
2015/03/24 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
玩转python爬虫之cookie使用方法
2016/02/17 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
医学生毕业自我鉴定
2014/03/26 职场文书
小学社会实践活动总结
2014/07/03 职场文书
活动总结范文
2014/08/30 职场文书
护理专业自我评价
2015/03/11 职场文书
作息时间调整通知
2015/04/22 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang