哪个更适合调用INSERT/UPDATE/DELETE语句?命令或查询?我会认为“命令”,因为“查询”意味着你提出了一个问题,并希望得到你的问题的答案(和更多的信息,而不仅仅是“是的,这个操作已成功执行,并且可选地,这里是你的插入ID”) 。SQL命名法:INSERT/UPDATE/DELETE的“查询”或“命令”?
只是一个中级Web应用程序开发人员的问题,他也是一个沟通专业,是一个喜欢特殊性的人。 :)
哪个更适合调用INSERT/UPDATE/DELETE语句?命令或查询?我会认为“命令”,因为“查询”意味着你提出了一个问题,并希望得到你的问题的答案(和更多的信息,而不仅仅是“是的,这个操作已成功执行,并且可选地,这里是你的插入ID”) 。SQL命名法:INSERT/UPDATE/DELETE的“查询”或“命令”?
只是一个中级Web应用程序开发人员的问题,他也是一个沟通专业,是一个喜欢特殊性的人。 :)
为INSERT
,UPDATE
,DELETE
和MERGE
的通用术语是“更新”(即使它可能造成混乱 - 并不理想 - 那UPDATE
仅仅是“更新”的一个子集)。另一个术语是“关系分配”。
的通称SELECT
,INSERT
,UPDATE
,DELETE
,MERGE
(和任何用分号其他终止)被称为“声明”。
严格来说,“查询”是返回结果集(例如会排除SELECT..INTO..FROM
语句)的SELECT
语句。然而,使用术语“查询”来引用更新虽然非正式,但不幸的是很常见。例如,虽然“更新查询”是一个矛盾,但当我使用精确词语(site:stackoverflow.com "update query"
)对Google网站进行搜索时,我获得了17,300次点击!
UPDATE(双关语indended :)
@大卫马克思:我不同意你的要求,它是适当的参考 到插入/删除/合并为一个 '更新'。这将是极其令人困惑的 。只有更新是一个更新。
我同意我的原始答案,这种情况可能会令人困惑。我们幸运的在Stackoverflow上能够格式化答案和评论,以便关键字UPDATE
可以区别于逻辑更新;用大写字母写关键字(按照完整标准SQL-92 :)的要求也有帮助。
但是,通过阅读通用数据库和计算科学文献,我可以告诉你'更新'确实是一个正确的总称。下面我提供了一个在引用此:
(2010年)“以关系型数据库理论概论”,休·达文[可免费PDF下载 - 谷歌它):
不同的更新运营商预期在关系数据库管理系统中有 通常被称为
INSERT
,DELETE
和UPDATE
,这些是在教程D中使用的名称(也在SQL中)[p。28]令人遗憾的是,关键字
UPDATE
已经变得如此广泛 被接受为仅用于更新 数据库的特定运算符的名称。请不要拍摄使者! [第168页]虽然[关系]分配为 更新目的理论上足以,它通常是使用表达靶 relvar的当前值和新值之间的差的速记 更方便。有时候......这种差异只不过是将一个或多个元组添加到现有集合中而已;有时它只是 元组的某些属性值的变化;有时它只是删除一些现有的元组。对于这三个特殊情况下速记已经提到 为
INSERT
,UPDATE
和DELETE
分别,因为时间 远古 - 换句话说,甚至关系 数据库出现之前,虽然这当然来临之前的 更新的目标是文件,而不是relvars或SQL表[临165]
我不同意你声称将INSERT/DELETE/MERGE称为“更新”是合适的。这将是非常混乱。只有更新是一个更新。 –
@David Marx:查看我答案的更新。另外,请考虑我的MERGE是否具有'MERGE..IF MATCHED UPDEN ...'的多样性,可以将它看作是UPDATE还是更新? ;) – onedaywhen
有时除了select以外的任何东西都被认为是DML - 数据操作语言。然而这不是一个硬性和快速的区别。这与DML中的选择一样多。
如有疑问,请将其称为“声明”。
好了,几乎所有的SQL书我有红,说:'INSERT/UPDATE/DELETE'命令 – Rahul
我需要创建以抽象类为我的球队以实体框架实施工作单元,命令模式。我希望抽象类有一个模板Execute方法来处理setup和saveChanges,所以命名很重要。我想出的东西:AbstractMutateCommand,AbstractUpdateCommand,AbstractWriteCommand。选择了最后一个。 –
我正在寻找相同的 - 选择/插入/更新/删除的术语,但**没有**的过程调用。我想我会称之为“声明”。 –