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...

面试题 相关文章推荐
"引用"与指针的区别是什么
Sep 07 面试题
名词解释型面试题(主要是网络)
Dec 27 面试题
初级软件工程师面试题 Junior Software Engineer Interview
Feb 15 面试题
ShellScript面试题一则-ShellScript编程
Mar 05 面试题
nohup的用法
Nov 26 面试题
简述安装Slackware Linux系统的过程
May 08 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
什么是GWT的Module
Jan 20 面试题
几道Java和数据库的面试题
May 30 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
Oct 12 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
Java的类可以定义为Protected或者Private得吗
Sep 25 面试题
索引覆盖(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中PDO基础教程 入门级
2011/09/04 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
XP折叠菜单&仿QQ2006菜单
2006/12/16 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
python调用cmd复制文件代码分享
2013/12/27 Python
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
python妙用之编码的转换详解
2017/04/21 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
九州传奇上机题
2014/07/10 面试题
庆国庆活动总结
2014/08/28 职场文书
信用卡工资证明格式
2014/09/13 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
python for循环赋值问题
2021/06/03 Python
MySQL数据库简介与基本操作
2022/05/30 MySQL