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的面试题
May 19 面试题
会话Bean的种类
Nov 07 面试题
JDK安装目录下有哪些内容
Aug 25 面试题
main 函数执行以前,还会执行什么代码
Apr 17 面试题
C/C++程序员常见面试题一
Dec 08 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
网络安全类面试题
Aug 01 面试题
可以使用抽象函数重写基类中的虚函数吗
Jun 02 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
如何提高MySql的安全性
Jun 19 面试题
Java如何读取CLOB字段
Oct 10 面试题
JAVA招聘远程笔试题
Jul 23 面试题
索引覆盖(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
第十一节 重载 [11]
2006/10/09 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
php微信开发自定义菜单
2016/08/27 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
js的匿名函数使用介绍
2013/12/11 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
Vue进度条progressbar组件功能
2018/04/17 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
Python本地与全局命名空间用法实例
2015/06/16 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
应届生护士求职信
2013/11/01 职场文书
个人函授自我鉴定
2014/03/25 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
主持人大赛开场白
2015/05/29 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python