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文件里面include另外一个PHP文件两次吗
May 22 面试题
JSF如何进行表格处理及取值
Aug 06 面试题
JDK安装目录下有哪些内容
Aug 25 面试题
Java TransactionAPI (JTA) 主要包含几部分
Dec 07 面试题
一套Java笔试题
Aug 20 面试题
南京迈特望C/C++面试题
Jul 09 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 面试题
指针和引用有什么区别
Jan 13 面试题
VC++笔试题
Oct 13 面试题
用Python写一个for循环的例子
Jul 19 面试题
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
Jan 12 面试题
创立科技Java面试题
Nov 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
第十节--抽象方法和抽象类
2006/11/16 PHP
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python实现Flappy Bird源码
2018/12/24 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
SOA的常见陷阱或者误解是什么
2014/10/05 面试题
会计专业个人求职信范文
2014/01/08 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
诚信承诺书范文
2014/03/27 职场文书
公司经理聘任书
2014/03/29 职场文书
公司新年寄语
2014/04/04 职场文书
董事长开业致辞
2015/07/29 职场文书
pandas提升计算效率的一些方法汇总
2021/05/30 Python
js实现自动锁屏功能
2021/06/02 Javascript