DML、DDL、DCL的分别是什么

DML、DDL、DCL的分别是什么

    一直以来,分不清这三者的简称代表什么,甚至在面试中遇到可能会张冠李戴。今天特意记录一下。

 

一、DML(data manipulation language) 数据操纵语言


    就是我们经常用到的SELECT、UPDATE、INSERT、DELETE。主要用来对数据库的数据进行的一些操作。

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主要是用在定义表
    或者改变表的结构、数据类型、表之间的链接和约束等初始化操作上。

复制代码
CREATE TABLE 表名称
(
列名称1, 数据类型,
列名称2, 数据类型,
...
);

CREATE TABLE `t2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `age` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1:男性;0:女性',
  PRIMARY KEY (`id`),
  KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

ALTER TABLE tbl_name drop age;
ALTER TABLE tbl_name ADD age tinyint NOT NULL DEFAULT '1' COMMENT '1:男性;0:女性';
...
复制代码

三、DCL


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

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

一般常用的是DML、DDL。

posted @   davie2020  阅读(16229)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示