我看到很多关于'选择'被称为DML的辩论。有人可以解释一下为什么它的DML不能操纵架构上的任何数据吗?因为它的锁定表应该是DML吗?
* 在维基百科* 我可以看到
“纯粹的只读SELECT查询语句被归类为 'SQL-data'语句[2]等标准被认为是 在DML之外。 SELECT ... INTO表单被认为是DML 因为它操纵(即修改)数据。在通常的做法 但是,没有做出这种区分,并且广泛考虑了SELECT 成为DML的一部分。[3]“
但是在SELECT * FROM INSERT中,select只会执行除此之外的选择!!请有人帮助我理解这个概念。
由于
答案 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语句?
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子句,所以它显示了可操纵的数据