0

我了解 DML 在技术上包含仅查询但不修改持久数据的 SQL 动词。(参见,例如,wikipediaoracleorafaq

但是,我经常希望提及“所有且只有那些修改存储/持久数据的 SQL 动词”——基本上INSERT是 , UPDATEDELETE不是普通的SELECT. 对于 DML 的这个子集,是否有官方/标准化术语,或者可能单独存在一个有说服力和优雅的术语?

4

5 回答 5

2

DML 包括SELECT INTO(而不是 just SELECT),因为它是 INSERT 的同义词。无需细分。

上班路上想了想,才想起 SELECT用来操作数据的。例如:

SELECT t.firstname +' '+ t.lastname --String concatenation
SELECT CAST(t.column AS int) --Datatype change
于 2009-09-30T14:47:30.520 回答
1

我的教授曾经将它们定义为编辑(而不是读取),但我不知道宫内节育器的标准术语。

于 2009-09-30T14:29:30.563 回答
0

基于 CRUD:创建、读取、更新和删除,你可以说 CUD(创建、更新、删除)。但是,我不确定是否有人使用它。

于 2009-09-30T14:40:00.237 回答
0

遗憾的是,从官方的角度来看,我认为没有。也许我们需要弥补一个?

就个人而言,我认为 DML 一词具有误导性,因为该术语并没有真正描述 SELECT 的工作方式,因为它(通常)实际上并没有修改任何东西。它只在临时空间中以不同的方式“收集”关系数据并返回一组指定的数据。

所以,如果这是我的选择,我会说:

DML 将描述 INSERT/UPDATE/DELETE

DRL数据检索语言将描述 SELECT

于 2009-09-30T14:45:33.400 回答
0

根据关于 SQL 的维基百科文章

数据操作语言 (DML) 是用于添加、更新和删除数据的 SQL 子集:

并且在那里讨论的语句(INSERT、UPDATE、DELETE、MERGE、TRUNCATE 等)被放置在与 SELECT不同的类别中。

因此,根据 Wikipedia,DML 可能不一定包含 SELECT。


根据SQL-92 标准,查看目录会发现 DML 确实包含 SELECT INTO:

     13 Data manipulation ............................................371

     (...)

     13.5 <select statement: single row> .............................382

     (...)

那里列出的定义描述了SELECT <columns> INTO ....

于 2009-09-30T15:08:51.733 回答