浅谈 DML、DDL、DCL的区别

一、DML

  • 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 数据类型,
列名称3 数据类型,
....
)

ALTER TABLE table_name
ALTER COLUMN column_name datatype

DROP TABLE 表名称
DROP DATABASE 数据库名称

三、DCL

  • DCL(Data Control Language)数据库控制语言:

    是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。这个比较少用到。

在公司呢一般情况下我们用到的是DDL、DML这两种。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

sql server根据表中数据生成insert语句

修正了表中的字段如果是SQL中的关键字(如Order)时,生成的脚本执行会出错的bug

1291
来自专栏nummy

MySQL取得日期(前一天、某一天)

mysql> select date_sub(curdate(),interval 1 day); +----------------------------...

852
来自专栏互联网杂技

修改数据表之添加主键约束

上一篇是对表中列的操作: 涉及到列的增删改查; ----- 而本篇是设置一个与另一个表的关系,还有列的默认值; ---- 1.一个表创建之后, 需要对这个表中的...

32311
来自专栏我的博客

MYSQL死锁问题

如果insert或update用到了同样的索引也会造成死锁。 比如 update table_a set name = ‘test1’ where id =...

3556
来自专栏MYSQL轻松学

insert事务产生duplicate key error引发的死锁分析

先看程序报错: 2017-06-12 21:18:40.856 [ForkJoinPool.commonPool-worker-12] ERROR com....

7374
来自专栏我的博客

MySQL触发器

1、触发器定义就不说了,既然能看到我这个文章就肯定明白这个定义了。用途也不多说,来看继续向下看吧! 触发器语法: CREATE TRIGGER <触发器名称...

2755
来自专栏史上最简单的Spring Cloud教程

Openresty最佳案例 | 第8篇:RBAC介绍、sql和redis模块工具类

RBAC介绍 RBAC(Role-Based Access Control,基于角色的访问控制),用户基于角色的访问权限控制。简单地说,一个用户拥有若干角色,每...

3228
来自专栏python3

初识mysql语句

mysql> update mysql.user set authentication_string =password('root') where User=...

932
来自专栏用户2442861的专栏

mysql索引index相关命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

1632
来自专栏别先生

mysql的内连接,外连接(左外连接,右外连接)巩固

1:mysql的内连接: 内连接(inner join):显示左表以及右表符合连接条件的记录; 1 select a.goods_id,a.goods_name...

2117

扫码关注云+社区

领取腾讯云代金券