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

MySQL中的DML、DDL、DCL到底是什么呢?

极客小俊 2021-03-25
858

前言

一直以来,很多人分不清这三个东西到底是什么简称?代表什么?以至于在面试中遇到可能会张冠李戴, 今天就先跟大家分享一下这三个小知识点吧!

其实这三个概念对于天天走CURD的小伙伴应该也不陌生吧, 可以说是天天使用!


DML数据操纵语言

DML(Data Manipulation Language): 就是我们经常用到的select、update、insert、delete 主要用来对数据库的数据进行的一些操作 也就是对数据的增删改查 就被称为 DML。

例如下SQL代码:

SELECT 字段名 | *  FROM 表名称;
UPDATE 表名称 SET 字段名='新值' WHERE 字段名='某值';
INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...);
DELETE FROM 表名称 WHERE 列名称='某值';

复制


DDL数据定义语言

DDL(Data Definition Language): 就是我们在创建表时用到的一些SQL语句。例如:CREATE、ALTER、DROP等。DDL主要是用在定义表 或者 改变表的物理结构、数据类型、表之间的链接和物理约束等初始化操作上。

例如下SQL代码:

#--建表
create table 表名称(
列名称1, 数据类型,
列名称2, 数据类型,
...
)engine=innodb default charset=utf8mb4 collate=utf8mb4_general_ci
#engine=innodb 设置表的引擎
#default charset=utf8mb4  设置表的编码字符集
#collate=utf8mb4_general_ci 设置字符序


#--修改表
alter table 表名称 drop 字段名;
alter table 表名称 add 字段名 数据类型 [字段约束] [字段约束];


#--等等这样的语句...

复制


 DCL数据控制语言

DCL(Data Control Language): 用来设置或者更改数据库用户角色权限等的语句,例如:grant、revoke语句。

例如下SQL代码:

create user 'test_r'@'%' IDENTIFIED BY 'test_rpwd';
GRANT SELECT ON `test_db`.* TO 'test_r'@'%' IDENTIFIED BY 'test_rpwd';

复制


"点赞""评论""收藏"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,

欢迎在下面 留个言指出、或者你有更好的想法,

欢迎一起交流学习


关注: 极客小俊 公众号   不定期分享技术干货

微信技术交流群   关注群主邀请进群 



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

评论