为什么'Select'被称为DML语句?

时间:2013-10-01 08:01:24

标签: sql database sql-server-2005

我看到很多关于'选择'被称为DML的辩论。有人可以解释一下为什么它的DML不能操纵架构上的任何数据吗?因为它的锁定表应该是DML吗?

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

  

“纯粹的只读SELECT查询语句被归类为   'SQL-data'语句[2]等标准被认为是   在DML之外。 SELECT ... INTO表单被认为是DML   因为它操纵(即修改)数据。在通常的做法   但是,没有做出这种区分,并且广泛考虑了SELECT   成为DML的一部分。[3]“

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

由于

5 个答案:

答案 0 :(得分:8)

人们通常所做的区别在于DDL(数据定义语言,即管理模式对象)和DML(数据操纵语言,即管理由DDL创建的模式内的数据)。显然,SELECT不是DDL。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

为什么选择SQL是SQL中的DML语句?

Click here for Link

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

例如

  

SELECT Column1,Column2 INTO DestinationTable
  从
  sourceTable会

将Coumn1,Column2从SourceTable复制到DestinationTable。

所以选择是dml语句

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:-2)

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