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

面试题 相关文章推荐
介绍一下Cookie和Session及他们之间的区别
Nov 20 面试题
super关键字的用法
Apr 10 面试题
什么是唯一索引
Jul 05 面试题
2019史上最全Database工程师题库
Dec 06 面试题
武汉高蓝德国际.net机试
Jun 24 面试题
this关键字的含义
Apr 08 面试题
linux系统都有哪些运行级别
Apr 15 面试题
百度JavaScript笔试题
Jan 15 面试题
Python面试题集
Mar 08 面试题
你在项目中用到了xml技术的哪些方面?如何实现的?
Jan 26 面试题
简单的JAVA编程面试题
Mar 19 面试题
灵泰克Java笔试题
Jan 09 面试题
索引覆盖(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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
Get或Post提交值的非法数据处理
2006/10/09 PHP
Access数据库导入Mysql的方法之一
2006/10/09 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
php实现的在线人员函数库
2008/04/09 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
JavaScript中的比较操作符>、=、
2014/12/31 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
解读ES6中class关键字
2017/11/20 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python闭包实现计数器的方法
2015/05/05 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
Django 限制访问频率的思路详解
2019/12/24 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
法律专业实习鉴定
2013/12/22 职场文书
晚会邀请函范文
2014/01/24 职场文书
上课打牌的检讨书
2014/02/15 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL