Sql 为什么“Select”被称为DML语句?

Sql 为什么“Select”被称为DML语句?,sql,database,sql-server-2005,Sql,Database,Sql Server 2005,我看到很多关于“选择”被称为DML的争论。有人能解释一下为什么它的DML不处理模式上的任何数据吗?当它把锁放在桌子上时,这应该是DML吗 *在维基百科,我可以看到 纯只读SELECT查询语句使用 “SQL数据”语句[2]等被标准视为 在DML之外。选择。。。转化为形式被认为是DML 因为它操纵,即修改数据。通常情况下 尽管如此,这一区别并没有被做出,而SELECT得到了广泛的考虑 成为DML的一部分。[3] 但是在SELECT*FROM INSERT SELECT中,将只执行选择操作,除此之外,

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

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

纯只读SELECT查询语句使用 “SQL数据”语句[2]等被标准视为 在DML之外。选择。。。转化为形式被认为是DML 因为它操纵,即修改数据。通常情况下 尽管如此,这一区别并没有被做出,而SELECT得到了广泛的考虑 成为DML的一部分。[3]


但是在SELECT*FROM INSERT SELECT中,将只执行选择操作,除此之外,没有其他操作!!请有人帮助我理解这个概念


感谢

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

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

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

该标准的早期版本可在线获取,网址为


第13节定义了数据操作。

为什么SQL中的Select是DML语句

选择。。。进入表单就是操纵或修改数据

例如

在DestinationTable中选择Column1、Column2 从…起 源表

将Coumn1第2列从SourceTable复制到DestinationTable

所以选择是dml语句

选择部门,maxsalary 来自emp; 此查询操作数据,然后显示,因此称为dml。
当我们使用聚合函数和WHERE子句时,它显示了被操纵的数据

在维基百科节录中你不理解什么?只会执行选择,除了这个之外,你不认为它创建了一个表并将数据插入到那个表中,除了选择之外?如果是这样的话,请解释一下it数据操纵的是什么?我不知道,但似乎有一些是这样做的,而且选择进入显然是这样的。我只是觉得摘录很清楚。事实上,它有时也被认为是DQL数据查询语言的唯一命令。只是开玩笑,SELECT不是DDL,为什么我们要将它作为DML包含?如果我需要将DML理解为数据管理语言,那么,您可以使用SELECT进行分组、聚合和连接,该SELECT以某种方式操作数据,至少在数据的表示方式上是这样的。对我来说,主要区别在于:DDL创建模式。DML使用模式。我在这里进行健康的讨论。如果我没有错,分组和聚合将不会操作数据!我同意DML使用sheme,DDL创建并使用alter模式。如果langauge使用scehma,我们可以将其归为DMl吗?这是一些最重要的区别吗?实现还包括DML(包括SELECT)在事务中运行,而DDL不在事务中运行。@Thilo-上次我检查时,DDL也参与事务。为什么你认为它没有?它说纯只读的SELECT查询语句与“SQL数据”语句[2]一起分类,因此标准认为它不属于DML。选择。。。INTO form被认为是DML,因为它处理数据,即修改数据。然而,在通常的实践中,这种区别是不存在的,并且选择被广泛认为是DML的一部分。(3)是选择CulnN1,Culn2从SoeCestabl到DestialStudio,这可能在Oracle中。我认为这个答案没有帮助。首先,问题是关于一般的选择,而不是具体的选择进入;第二,链接的描述和内容都是无用的