增删查改(英语:CRUD[注 1]),全称增加(Create,意为“建立”)、删除(Delete)、查询(Read,意为“读取”)、改正(Update,意为“更新”),在计算机程序语言中是一连串常见的动作行为,而其行为通常是为了针对某个特定资源所作出的举动(例如:建立资料、读取资料等)。这四个行为最常见的用途是在使用SQL数据库与网站的API的时候。这个词语(CRUD)最早被记载于James Martin所撰写的Managing the Data-base Environment[1][2]书中。

基本用途与别名 编辑

在不同情况下,原本的“增删查改”所对应的英文词汇会因此而改名,而不再对应CRUD。例如 HTTP 中,原本“增删查改”所对应的英文词汇被改名,比如“查”不再是Read,而改为GET;“增”不再是Create,而改为POST;“改”不再是Update,而改为PUT等等,这个现象也出现在 SQL 数据库中。话虽如此,虽然有着不同名称,但底层的概念都基本相同。

中文 英文 意义 SQL HTTP 表现层状态转换(REST) 资料分散服务英语Data Distribution Service MongoDB
增加 Create 建立 INSERT PUT / POST POST WRITE Insert
删除 Delete 删除 DELETE DELETE DELETE DISPOSE Remove
查询 Read 读取 SELECT GET GET READ / TAKE Find
改正 Update 更新 UPDATE PUT / POST / PATCH PUT WRITE Update

类型变化 编辑

随着时间的演进,原本的“增删查改”(CRUD)已经不再能够满足大部分的需求了,因此有些人会修改部分词语来更符合当下的动作名称。例如说:BREADS、ACID、ABCD[3]。虽然这些用法多了一些行为,但实际上也只是某些基础行为(CRUD)的变化,例如:BREADS 中的“浏览(Browse)”其实是会回传多笔资料的“读取(Read)”行为。

  • BREADS(也译作:面包)[4]
    • 浏览(Browse)、读取(Read)、编辑(Edit)、建立(Add)、删除(Delete)、搜索(Search)
  • ICRUD[3]
    • 索引(Index)、建立(Create)、读取(Read)、更新(Update)、删除(Delete)
  • CRAP(也译作:垃圾)[5]
    • 建立(Create)、复制(Replicate)、写入(Append)、处理(Process)
  • DAVE[6]
    • 删除(Delete)、建立(Add)、查看(View)、更新(Edit)
  • ABCD[3]
    • 建立(Add)、浏览(Browse)、更新(Change)、删除(Delete)
  • ACID(也译作:盐酸, 注意这里和保证数据库可靠性的ACID不是一回事)
    • 建立(Add)、更新(Change)、查询(Inquire)、删除(Delete)

注释 编辑

  1. ^ 英语中因为CRUD比中文所对应的CDRU易读易记而将“删除”(Delete)放置于最后。但是英文小写的crud,是指渣滓、水垢、腐蚀污泥。

参考资料 编辑

  1. ^ Managing the Data-base Environment,第381页,载于Google图书
  2. ^ Martin, James. Managing the Data-base Environment. Englewood Cliffs, New Jersey: Prentice-Hall. 1983: 381. ISBN 0-135-50582-8. 
  3. ^ 3.0 3.1 3.2 BREAD, not CRUD | Paul M. Jones. [2019-01-12]. (原始内容存档于2019-05-08) (美国英语). 
  4. ^ Paul M. Jones. BREAD, not CRUD. 2008 [2019-01-12]. (原始内容存档于2019-05-08). 
  5. ^ CRAP and CRUD: From Database to Datacloud - Direct2DellEMC. Direct2DellEMC. 2012-11-13 [2018-01-30]. (原始内容存档于2020-08-11) (美国英语). 
  6. ^ McGaw, James. Beginning Django E-Commerce. : 41 [2019-01-12]. (原始内容存档于2020-06-11).