数据库 DML 是什么?DML 的操作、语法及应用场景详解

DML 代表添加、删除、修改和检查。
INSERT INTO users(id, name) VALUES (1 , '张三'); 更新用户设置 email='zhangsan@example.com' WHERE id=1 ; 从 id=1 的用户中删除;
别忘了在哪里。
批处理操作是分批运行的。

数据库完整性的定义一般由SQL的()语句来实现。 是DDL还是DML

哦,这个DDL,我们需要好好聊一聊。
这件事可以追溯到2 0世纪7 0年代,当时数据库刚刚兴起。
这个DDL就像数据库的身份证,告诉我们数据库里有什么。
例如,有一个表,存储了客户的姓名、电话号码和地址,必须通过DDL来定义。

当时我不明白为什么叫DDL。
后来想了想,可能是因为它定义了数据库的结构,就像定义了数据库的“骨架”一样。
这个东西是创建数据库的时候必须要用到的。
例如,我们必须首先定义一个客户表,然后在其中存储数据。

我们来谈谈DML。
这个东西就像数据库的“手脚”,操作数据必须依靠它。
例如,我们需要向客户表中插入(INSERT)新的客户信息、更新(UPDATE)旧的客户信息或删除(DELETE)一些过时的数据。
这种 DML 被广泛使用。
在SQL语言中,更新、插入、删除操作都属于DML。

DML与DDL、DCL(数据控制语言)并称为SQL语言的三大类。
DCL主要负责数据库的权限控制,比如谁可以访问数据库、谁可以修改数据等。
这件事是比较高级的。

所以,DML是操作数据的命令,例如INSERT、UPDATE和DELETE。
这些是 DML 的类别。
但请注意,虽然 SELECT 语句看起来像是操作数据,但它实际上属于 DQL(数据查询语言)。
这个东西是用来查询数据的,不属于DML。

一般来说,DDL定义数据库结构,DML操作数据,DCL控制数据权限。
三者相辅相成,构成了数据库操作的基础。
这个东西学起来有点复杂,但是一旦掌握了,对你的数据库管理会有很大的好处。

mysql中的dml、ddl、dcl到底是什么呢?

请稍等。
上次我帮同事调试他的电商网站后端时,他在创建新产品类别时遇到了困难,无法添加。
经过进一步排查,发现该表的字段类型混淆了,其中一个decimal类型的字段被填成了整数类型,直接导致数据插入失败。
难道这是真实的DDL操作错误?
我记得去年春天在杭州的培训。
当老师演示ALTER TABLE时,有学生问:“我可以重命名主键吗?”当时老师在讲约束条件,随口说:“如果你改变索引的顺序,可能会出问题。
”结果,学生的测试就卡在那里,花了两个小时才绕过去。

说起DML,去年冬天我去新西兰出差的时候,酒店IT部门有人半夜远程给我写了一个脚本,将一批积压的订单标记为已处理。
他的双手颤抖着,增加了额外的空间。
结果,数百条记录被错误修改。
当时系统日志中显示的时间是凌晨3 点1 7 分,代码中留下了一条手写注释,上面写着“请注意时间戳的格式”。

我前年在北京遇到了这个REVOKE权限恢复问题。
我有一个项目,我使用 GRANT 来授权临时开发帐户,但后来我忘记了 REVOKE,因此新的实习生最终使用该帐户导出生产数据库数据。
具体来说,导入了8 0,000条客户记录。
该日志是在周五下午 5 :4 2 发现的...
等等,还有一件事。
在查询时使用函数特别有趣。
有一次,当我给老板做一份报告时,他让我按月汇总订单金额,并按金额降序排列。
我使用了GROUP BY和ORDER BY,但后来发现MySQL优化器实际上是在临时表上使用了日期函数。
我对执行计划感到困惑......