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

面试题 相关文章推荐
北京银河万佳Java面试题
Mar 21 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
Nov 18 面试题
什么是SQL Server的确定性函数和不确定性函数
Aug 04 面试题
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
Jul 11 面试题
Shell编程面试题
May 29 面试题
飞利信loadrunner和软件测试笔试题
Sep 22 面试题
中科前程Java笔试题
Nov 20 面试题
中软国际Java程序员机试题
Aug 19 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
Jul 06 面试题
Java面向对象面试题
Dec 26 面试题
介绍一些UNIX常用简单命令
Nov 11 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
Oct 16 面试题
索引覆盖(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
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
Firefox window.close()的使用注意事项
2009/04/11 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
py-charm延长试用期限实例
2019/12/22 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
shell变量的作用空间是什么
2013/08/17 面试题
股权转让协议书
2014/04/12 职场文书
啤酒节策划方案
2014/05/28 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
2014年检验科工作总结
2014/11/22 职场文书
党员争先创优承诺书
2015/01/20 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
python如何进行基准测试
2021/04/26 Python
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python
配置nginx负载均衡
2022/05/06 Servers