暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DDL、DML、DCL什么意思还不知道?它们的区别还分不清?一文给它说明白

357



数据库管理和应用

DDL、DML、DCL

           含义及区别

SQL语言我们前面介绍了很多,在和其他人交流的时候,是不是时不时会从别人口中听到DDL、DML或DCL,然后自己一脸懵?心里暗想,这人说的这词儿啥意思啊?


有遇到这种情况的小伙伴儿,可以看看下面的内容。下面我们来对这些名词来做个说明。





01

DDL


数据定义语言(DDL - Data Definition Language)


定义与作用


oDDL 是用于定义数据库结构的语言部分。它就像是建筑图纸,规定了数据库的基本框架,包括数据库、表、视图、索引等对象的创建、修改和删除。这是构建数据库的基础步骤,没有 DDL,数据库就像是没有规划好的建筑工地,混乱无序。


包括的主要SQL语句


oCREATE:用于创建数据库或数据库对象。

oALTER:用于对数据库或数据库对象进行修改。

oDROP:用于删除数据库或数据库对象。


主要操作对象及功能


o数据库(Database):可以创建新的数据库,定义其名称、字符集等属性。例如,在创建一个名为 “mydb” 的数据库时,通过 DDL 语句可以规定该数据库存储数据的编码格式等信息。修改数据库的某些属性,如修改字符集或者数据库的存储引擎,也需要使用 DDL。当数据库不再使用或者需要重新规划时,还可以删除整个数据库。

o表(Table):用于创建表结构。这包括定义表的名称、表中各个列的名称、数据类型(如整数、字符串、日期等)以及列的约束条件(如主键约束,用于唯一标识一条记录;外键约束,用于建立表与表之间的关联关系)。在修改表时,可以添加新的列、删除列或者改变列的数据类型等操作。当表已经过时或者不再需要存储相关数据时,可以删除表。

o视图(View):视图是一种虚拟的表,它是通过查询一个或多个表中的数据组合而成的。DDL 可以用于创建视图,定义视图的查询语句。修改视图可以改变视图所基于的查询逻辑。当视图的查询逻辑不再符合业务需求时,可以删除视图。

o索引(Index):索引就像是一本书的目录,能够提高数据库查询的效率。DDL 可以创建索引,指定索引所基于的表列,这样在查询这些列的数据时能够快速定位。可以修改索引的属性,如改变索引的类型或者覆盖的列范围。当索引不再对查询有帮助或者占用过多的存储空间时,可以删除索引。



02

DML


数据操作语言(DML - Data Manipulation Language)




定义与作用


oDML 主要用于对数据库中的数据进行操作,它是数据库日常使用中最频繁接触的部分。就像是仓库管理员使用工具对仓库里的货物进行搬运、整理和查询一样,DML 可以插入新的数据到仓库(数据库),更新货物(数据)的状态,删除不需要的货物,以及查询仓库里的货物信息。



包括的主要SQL语句


oSELECT

oINSERT

oUPDATE

oDELETE



主要操作对象及功能


o插入(Insert):用于将新的数据记录添加到表中。这就好比往仓库的货架上放置新的货物。在插入数据时,需要按照表的结构,为每一个列提供相应的数据(除了那些允许为空或者有默认值的列)。例如,在一个存储员工信息的表中,插入一条新员工的记录,包括员工编号、姓名、部门等信息。


o更新(Update):用于修改表中已有的数据。可以根据一定的条件来更新部分数据。比如,当员工的部门发生变化时,通过更新操作可以修改员工信息表中该员工所属部门的字段。这个操作要谨慎使用,因为如果没有正确的条件限制,可能会错误地修改大量数据。


o删除(Delete):用于从表中删除数据记录。可以根据特定的条件删除部分记录,比如删除已经离职员工的记录。如果没有条件限制,会删除表中的所有数据,这是一个非常危险的操作,需要谨慎对待。


o查询(Select):这是 DML 中最重要的操作之一。用于从一个或多个表中检索数据。通过查询可以获取满足特定条件的数据,如查询所有工资高于一定数额的员工名单,或者查询某个部门的员工信息等。查询操作可以使用各种条件、函数和连接操作来获取复杂的数据集合。



03 

DCL


数据控制语言(DCL - Data Control Language)



定义与作用

oDCL 主要用于控制数据库的访问权限,它是数据库安全管理的重要防线。就像一个高级别的门禁系统,只允许授权的人进入特定的区域或者执行特定的操作。通过 DCL,可以确保数据库中的数据不被未经授权的用户访问、修改或者删除。


包括的主要SQL语句

oGRANT

oREVOKE


主要操作对象及功能

o授权(Grant):将对数据库对象(如数据库、表、视图等)的特定操作权限授予用户或者角色。例如,授予一个用户对某个表的查询权限,这样该用户就可以执行查询操作来获取表中的数据。可以授予的权限包括查询(SELECT)、插入(INSERT)、更新(UPDATE)、删除(DELETE)等多种操作权限,还可以将权限授予不同的角色,方便对用户组进行权限管理。


o回收(Revoke):与授权操作相反,回收操作用于取消用户或者角色已经被授予的权限。例如,如果某个用户离开了一个项目组,不再需要访问某些数据,就可以通过回收操作取消该用户对相关数据库对象的权限。这样可以及时防止权限滥用,保证数据库的安全性。



入门内容可点击【数据分析入门】进行查看,进阶内容可点击【数据分析进阶】,后续将会对数据分析中涉及到的内容做系列介绍,如对内容感兴趣,可关注公众号及时接收更新内容。



 FOLLOW US 

关注我们

问题咨询请扫码

文中部分图片源自网络,如有侵权,请联系删除


文章转载自数据分析记事本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论