代码之家  ›  专栏  ›  技术社区  ›  pilcrow

术语:DML“修改事物”

  •  0
  • pilcrow  · 技术社区  · 15 年前

    我理解DML在技术上包含SQL动词,这些动词只查询而不修改持久数据。(见,例如, wikipedia oracle orafaq )

    但是,我经常希望引用“所有并且仅那些修改存储/持久数据的SQL动词”——基本上 INSERT , UPDATE , DELETE 但是 平原 SELECT . 对于这个DML的子集,是否有一个正式的/标准化的术语,或者可能是单独的、有说服力的、优美的术语?

    5 回复  |  直到 15 年前
        1
  •  0
  •   J. Polfer    15 年前

    可悲的是,从官方的角度来看,我不认为会有这样的情况。也许我们需要弥补一下?

    就我个人而言,我认为术语dml具有误导性,因为该术语实际上并不描述select的工作方式,因为它(通常)实际上并不 修改 什么都行。它只以不同的方式在临时空间中“收集”关系数据,并返回一组指定的数据。

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

    数据仓库 将描述插入/更新/删除

    DRL ( 数据检索语言 ) 将描述选择 .

        2
  •  2
  •   OMG Ponies    15 年前

    DML包括 SELECT INTO (与公正相反 SELECT )因为它是一个 同义词 用于插入物。不需要进行子分类。

    在上班的路上,我想了想,我记得 用于数据操作。例如:

    SELECT t.firstname +' '+ t.lastname --String concatenation
    SELECT CAST(t.column AS int) --Datatype change
    
        3
  •  1
  •   Raj More    15 年前

    我的教授过去把它们定义为编辑(而不是阅读),但我不知道IUD的标准术语。

        4
  •  0
  •   KM.    15 年前

    基于CRUD: Create, read, update and delete ,您可以说CUD(创建、更新、删除)。但是,我不确定是否有人使用它。

        5
  •  0
  •   J. Polfer    15 年前

    根据 Wikipedia article on SQL ,

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

    以及 statements discussed there (插入、更新、删除、合并、截断等)放在 different category 比选择。

    因此,根据维基百科,DML可能不一定包括select。


    根据 SQL-92 standard 浏览目录,可以发现DML确实包括了select-into:

         13 Data manipulation ............................................371
    
         (...)
    
         13.5 <select statement: single row> .............................382
    
         (...)
    

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