我目前正在阅读 Microsoft 官方书籍“数据库管理基础知识”,准备参加考试。
我了解 DDL 和 DML 是什么,但 Microsoft 将 DELETE 显示为 DDL 和 DML 语句。我已经用谷歌搜索过这一点,但我无法证实或否认这一点。
一个很好的参考是这个问题:什么是DDL和DML https://stackoverflow.com/questions/2578194/what-is-ddl-and-dml这将其显示为 DML。以下是书中的片段:
数据操作语言 (DML) 是允许
您可以使用核心语句 INSERT、UPDATE、DELETE 和 MERGE 来
操作任何 SQL Server 表中的数据。核心DML语句包括
以下内容: • SELECT:从数据库中检索行并启用
从一个或多个表中选择一行或多列
在 SQL Server 中。 • INSERT:向表或数据库中添加一个或多个新行。
在 SQL Server 中查看。 • 更新:更改一个或多个中的现有数据
表或视图中的列。 • DELETE:从表中删除行或
看法。 • MERGE:对数据执行插入、更新或删除操作
基于与源表的联接结果的目标表。
六个主要的 DDL 语句如下: • USE:更改
数据库上下文。 • CREATE:创建 SQL Server 数据库对象
(表、视图或存储过程)。 • ALTER:更改现有的
目的。 • DROP:从数据库中删除对象。 • 截断:
从表中删除行并释放这些行所使用的空间。 •
DELETE:从表中删除行,但不释放所使用的空间
这些行被删除。
这本书是否已过时/错误。有人可以帮助阐明这一点吗?我看到完整的 DDL 和 DML 语句的列表是相互冲突的。
我同意你的看法,DELETE
是DML。而且,我敢说,TRUNCATE
也应该被视为 DML,因为逻辑上相当于DELETE
陈述。事实是TRUNCATE
is a DROP
and CREATE
在我看来,这不足以证明将其分配给 DDL 是合理的,因为两者一起作为一个原子操作执行,不会影响数据库的模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)