在一些公司中提交给测试团队的SQL脚本会划分为DDL、DML等,但这些概念到底是如何定义的呢?
SQL(Structure Query Language)是数据库 *** 作的的核心语言,接下来我们通过一张图来进行分析:
DDL(Data Definition Languages)语句: 即数据库定义语句,用来创建数据库中的表、索引、视图、存储过程、触发器等
常用的语句关键字有:CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME。
DML(Data Manipulation Language)语句: 即数据 *** 纵语句,用来查询、添加、更新、删除等
常用的语句关键字有:SELECT,INSERT,UPDATE,DELETE,MERGE,CALL,EXPLAIN PLAN,LOCK TABLE,包括通用性的增删改查。
DCL(Data Control Language)语句: 即数据控制语句,用于授权/撤销数据库及其字段的权限(DCL is short name of Data Control Language which includes commands such as GRANT and mostly concerned with rights, permissions and other controls of the database system)。
常用的语句关键字有:GRANT,REVOKE。
TCL(Transaction Control Language)语句: 事务控制语句,用于控制事务
常用的语句关键字有:COMMIT,ROLLBACK,SAVEPOINT,SET TRANSACTION。
DQL:(Data QueryLanguage)语句: 数据查询语言
常用的语句关键字有:SELECT, FROM, WHERE, ORDER BY, HAVING,ASC|DESC
希望对您有所帮助!~
数据库管理系统(DBMS)的主要功能有以下几项:
(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。
(2)数据存取功能。DBMS提供数据 *** 纵语言(DML),实现对数据库数据的基本存取 *** 作:检索,插入,修改和删除。
(3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。
(4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。
(5)数据库的传输。DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与 *** 作系统协调完成。
扩展资料:
选择数据库管理系统时应从以下几个方面予以考虑:
(1) 构造数据库的难易程度。
需要分析数据库管理系统有没有范式的要求,即是否必须按照系统所规定的数据模型分析现实世界,建立相应的模型;数据库管理语句是否符合国际标准,符合国际标准则便于系统的维护、开发、移植;有没有面向用户的易用的开发工具;所支持的数据库容量,数据库的容量特性决定了数据库管理系统的使用范围。
(2) 程序开发的难易程度。
有无计算机辅助软件工程工具CASE——计算机辅助软件工程工具可以帮助开发者根据软件工程的方法提供各开发阶段的维护、编码环境,便于复杂软件的开发、维护。有无第四代语言的开发平台——第四代语言具有非过程语言的设计方法,用户不需编写复杂的过程性代码,易学、易懂、易维护。
有无面向对象的设计平台——面向对象的设计思想十分接近人类的逻辑思维方式,便于开发和维护。对多媒体数据类型的支持——多媒体数据需求是今后发展的趋势,支持多媒体数据类型的数据库管理系统必将减少应用程序的开发和维护工作。
(3)数据库管理系统的性能分析。
包括性能评估(响应时间、数据单位时间吞吐量)、性能监控(内外存使用情况、系统输入/输出速率、SQL语句的执行,数据库元组控制)、性能管理(参数设定与调整)。
(4) 对分布式应用的支持。
包括数据透明与网络透明程度。数据透明是指用户在应用中不需指出数据在网络中的什么节点上,数据库管理系统可以自动搜索网络,提取所需数据;网络透明是指用户在应用中无需指出网络所采用的协议。数据库管理系统自动将数据包转换成相应的协议数据。
(5)并行处理能力。
支持多CPU模式的系统(SMP,CLUSTER,MPP),负载的分配形式,并行处理的颗粒度、范围。
(6) 可移植性和可扩展性。
可移植性指垂直扩展和水平扩展能力。垂直扩展要求新平台能够支持低版本的平台,数据库客户机/服务器机制支持集中式管理模式,这样保证用户以前的投资和系统;水平扩展要求满足硬件上的扩展,支持从单CPU模式转换成多CPU并行机模式( SMP, CLUSTER, MPP)
(7)数据完整性约束。
数据完整性指数据的正确性和一致性保护,包括实体完整性、参照完整性、复杂的事务规则。
(8)并发控制功能。
对于分布式数据库管理系统,并发控制功能是必不可少的。因为它面临的是多任务分布环境,可能会有多个用户点在同一时刻对同一数据进行读或写 *** 作,为了保证数据的一致性,需要由数据库管理系统的并发控制功能来完成。评价并发控制的标准应从下面几方面加以考虑:
保证查询结果一致性方法
数据锁的颗粒度(数据锁的控制范围,表、页、元组等)
数据锁的升级管理功能
(9) 容错能力。
异常情况下对数据的容错处理。评价标准:硬件的容错,有无磁盘镜象处理功能软件的容错,有无软件方法
(10) 安全性控制
包括安全保密的程度(帐户管理、用户权限、网络安全控制、数据约束)
(11) 支持多种文字处理能力
包括数据库描述语言的多种文字处理能力(表名、域名、数据)和数据库开发工具对多种文字的支持能力。
(12)数据恢复的能力
当突然停电、出现硬件故障、软件失效、病毒或严重错误 *** 作时,系统应提供恢复数据库的功能,如定期转存、恢复备份、回滚等,使系统有能力将数据库恢复到损坏以前的状态。
参考资料:
ddl是数据库模式定义语言,是用于描述数据库中要存储的现实世界实体的语言
常见的ddl语句例如:
创建数据库:create
database
创建表:create
table
我是在泰牛程序员的mysql视频里面看到的
1,DML(DataManipulationLanguage):数据 *** 作语言,用来定义数据库记录(数据)
DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE
2,DCL(DataControlLanguage):数据控bai制语言,用来定义访问权限和安全级别;
DCL用来授予或回收访问数据库的某种特权,并控制数据库 *** 纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。
2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
3) COMMIT [WORK]:提交。
3,DQL(DataQueryLanguage):数据查询语言,用来查询记录(数据);
DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:
SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>
4,DDL(DataDefinitionLanguage):数据定义语言,用来定义数据库对象:库、表、列等。
DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等,如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER| | | | |表 视图 索引 同义词 簇
一、DML
DML(datalanguage)数据 *** 纵语言:
就是我们最经常用到的SELECT、UPDATE、INSERT、DELETE。主要用来对数据库的数据进行一些 *** 作。
SELECT列名称FROM表名称UPDATE表名称SET列名称=新值WHERE列名称=某值INSERTINTOtable_name(列1,列2,)VALUES(值1,值2,)DELETEFROM表名称WHERE列名称=值
二、DDL
DDL(datadefinitionlanguage)数据库定义语言:
其实就是我们在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上
CREATETABLE表名称(
列名称1数据类型,列名称2数据类型,列名称3数据类型,)ALTERTABLEtable_nameALTERCOLUMNcolumn_nameTABLE表名称DROPDATABASE数据库名称
三、DCL
DCL(DataControlLanguage)数据库控制语言:
是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。这个比较少用到。
在公司呢一般情况下我们用到的是DDL、DML这两种。
DDL
create
table
创建表
alter
table
修改表
drop
table
删除表
truncate
table
删除表中所有行
create
index
创建索引
drop
index
删除索引
当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create
table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。
DML
insert
将记录插入到数据库
update
修改数据库的记录
delete
删除数据库的记录
当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。
以上就是关于在SQL的分类中哪些属于DML,哪些属于DDL,哪些属于DCL全部的内容,包括:在SQL的分类中哪些属于DML,哪些属于DDL,哪些属于DCL、数据库管理系统的主要功能有哪些、DDL语句怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)