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错误
Oct 14 面试题
PHP面试题附答案
Nov 28 面试题
error和exception有什么区别
Oct 02 面试题
Ibatis中如何提高SQL Map的性能
May 11 面试题
JSF面试题:Jsf中导航的标签是什么
Apr 20 面试题
简单介绍Object类的功能、常用方法
Oct 02 面试题
利用异或运算实现两个无符号数的加法运算
Dec 20 面试题
.NET程序员的数据库面试题
Oct 10 面试题
渗透攻击的测试步骤
Jun 07 面试题
Ajax主要包含了哪些技术
Jun 12 面试题
正隆泰信息技术有限公司上机题
Jun 14 面试题
一套英文Java笔试题面试题
Apr 21 面试题
索引覆盖(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通过GD库实现验证码功能示例
2019/02/23 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
详解Node 定时器
2018/02/26 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
用Python设计一个经典小游戏
2017/05/15 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
python、Matlab求定积分的实现
2019/11/20 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
Hotels.com南非:酒店预订
2017/11/02 全球购物
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers
Oracle中日期的使用方法实例
2022/07/07 Oracle