16

我看到很多关于“选择”被称为 DML 的争论。有人能解释一下为什么它的 DML 因为它不操作模式上的任何数据吗?当它把锁放在桌子上时,这应该是 DML 吗?

*在维基百科 *我可以看到

“纯只读的 SELECT 查询语句与 'SQL-data' 语句[2] 一起分类,因此被标准视为在 DML 之外。SELECT ... INTO 形式被认为是 DML,因为它操纵(即修改)数据。但在通常的实践中,没有进行这种区分,并且 SELECT 被广泛认为是 DML 的一部分。[3]"

但是在 SELECT * FROM INSERT 中,选择只会执行选择!请有人帮助我理解这个概念。

谢谢

4

5 回答 5

11

人们通常在 DDL(数据定义语言,即管理模式对象)和 DML(数据操作语言,即管理由 DDL 创建的模式内的数据)之间进行区分。显然 SELECT 不是 DDL。

于 2013-10-01T08:04:06.073 回答
2

SQL 标准将SELECT 视为“数据操作”的一部分。

该标准的早期版本可在线获取 http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

在第 13 节中,定义了“数据操作”。

于 2013-10-01T09:09:37.707 回答
2

数据操作语言 (DML) 是用于查询/检索和处理数据的词汇表。不要使用 Manipulation 这个词,这样的语句允许数据访问和处理。正如您使用 SQL Server 2005 标记的问题,可以参考以下链接:

http://technet.microsoft.com/en-US/library/ms177591(v=SQL.90).aspx

于 2013-10-01T08:51:21.543 回答
1

为什么Select是SQL中的DML语句?

单击此处获取链接

SELECT ... INTO 表单用于操作或修改数据。

例如



SourceTable中选择 Column1、Column2 到 DestinationTable

将 Coumn1、Column2 从 SourceTable 复制到 DestinationTable。

所以 Select 是 dml 语句

于 2014-01-27T17:13:23.820 回答
-2

从 emp 中选择部门,最大(工资);此查询操作数据然后显示,因此它被称为 dml。因为我们使用聚合函数和 where 子句,所以它显示了操纵的数据

于 2019-01-12T01:32:27.560 回答