指南

什么是 CRUD?增、查、改、删详解

CRUD 代表创建(create)、读取(read)、更新(update)和删除(delete)——应用处理已存储数据的四种基本操作。添加一位新客户是创建,查看客户列表是读取,修改其电话号码是更新,而删除该客户则是删除。大多数商业应用——客户关系管理系统、预约系统、库存跟踪工具、管理面板——基本都是 CRUD,只是在其上加入了规则和良好的布局。

用 AI 构建应用时为什么它很重要

CRUD 是一套术语,能把模糊的应用想法转化为精确的需求。“一个用来管理供应商的应用”会让 AI 只能猜测;而“创建、列出、编辑和删除供应商,字段如下”则明确告诉它应该构建哪些页面、数据库操作和服务端路由。

它还为测试提供了一份检查清单。对于应用中的每一类记录,你都可以问四个问题:能否新增、能否查看、能否修改、能否删除——并且只有正确的人才能执行每项操作。令人意外的是,许多 AI 构建的应用只能创建记录却无法编辑,或者任何人都可以删除任何内容。

一个日常类比:食谱卡片盒

想象厨房架子上放着一盒食谱卡片。

  • **创建:**写一张新卡片并归档。
  • **读取:**翻阅整个卡片盒,或抽出千层面那一张。
  • **更新:**划掉“200 克奶酪”,改写为“250 克”。
  • **删除:**把一张卡片抽出来扔掉。

现在再加上规则:只有主厨可以扔卡片,每张卡片都必须有标题,并且不能有两张同名卡片。这就是一个带有验证和权限的 CRUD 应用——而这正是大多数真实应用的样子。

CRUD 如何体现在每一层中

每种操作都会出现在页面、服务器和数据库中。把它们并排看,能很好地解释应用是如何构建的。

操作页面上的表现API 请求(REST)数据库中的 SQL
创建一个“新建”按钮和一个表单POST /api/suppliersINSERT
读取带搜索和筛选的列表;详情页GET /api/suppliers 和 GET /api/suppliers/42SELECT
更新“编辑”表单或行内编辑PUT 或 PATCH /api/suppliers/42UPDATE
删除带确认步骤的“删除”按钮DELETE /api/suppliers/42DELETE(或将该行标记为已删除)

页面是前端,API 请求是前端与后端通信的方式,SQL 则是后端与数据库通信的方式。如果这些术语对你来说还不熟悉,请参阅什么是 API和什么是数据库。

实例演示:设备借用跟踪器

某学校的媒体部门把相机和麦克风借给学生,却经常找不到它们。他们想要一个简单的应用。

记录。有两类对象:设备(名称、类型、序列号、状况)和借用记录(借出的设备、借用的学生、借出日期、应还日期、实际归还日期)。

设备的 CRUD:

  • **创建:**工作人员添加一台带序列号的新相机。规则:序列号必须唯一。
  • **读取:**所有设备的列表,可按类型和“当前可借”筛选;以及一个详情页,显示某件设备的借用历史。
  • **更新:**将状况改为“需要维修”。
  • 删除:通常不是真正删除。如果删除一台有 30 次借用记录的相机,这些借用记录会失去关联。因此应将其标记为“已退役”,使其从可借列表中消失,同时保留历史记录。这称为软删除。

借用记录的 CRUD:

  • **创建:**将设备借给某位学生。规则:已被借出的设备不能再次借出。
  • 读取:“逾期借用”列表——应还日期已过且没有归还日期的记录。
  • **更新:**设备归还时记录归还日期。
  • **删除:**仅限工作人员使用,用于删除误录的借用记录。

**权限。**学生只能读取可借的设备;只有工作人员可以创建、更新或删除。这些检查在服务器上执行,而不仅仅是隐藏按钮。

整个应用就是这些内容。真正有意思的部分——不允许重复借出、逾期列表、每件设备的历史记录——是建立在基础 CRUD 之上的规则和查询。

关键术语

  • **记录(行):**一条数据,例如一位供应商或一笔借用。
  • **实体 / 资源:**一类记录,例如“供应商”。每一类通常都有自己的表和一套 CRUD 页面。
  • **验证:**对输入进行检查——必填字段、有效的邮箱、正数的数量。为了方便,在表单中进行验证;为了安全,也要在服务器上验证。
  • **软删除:**将记录标记为已删除或已归档,而不是真正移除,以保留历史记录和关联关系。
  • **分页:**每次只显示长列表的一页,使应用保持快速。
  • **审计日志:**记录谁在何时创建、修改或删除了什么。
  • **管理面板:**供工作人员管理应用数据的一组 CRUD 页面。

常见错误与误解

  • **遗漏四种操作中的某一种。**应用常常只有创建和读取,却没有编辑功能,于是每次打错字都得删除后重新输入。请对每个实体检查全部四种操作。
  • **删除导致的问题。**删除一个仍有发票的客户,可能会留下孤立的发票,或抹去历史记录。应针对每个实体决定:禁止删除、软删除,还是同时删除相关记录。
  • **权限只存在于界面中。**隐藏“删除”按钮并不能阻止有人发送 DELETE 请求。服务器必须检查请求者是谁。
  • **按 ID 更新而不检查归属。**如果用户 A 可以通过修改 URL 中的数字来编辑 /api/notes/42,那么他们就可能编辑用户 B 的笔记。每一次更新和删除都必须确认该记录属于发出请求的人。
  • **删除时没有确认。**一次误触就不应该毁掉数据。应要求确认步骤,或提供撤销功能。
  • **“CRUD 意味着简单,不值得构建。”**许多有价值的产品就是 CRUD 应用,它们比通用工具更契合某种工作流程。

向你的 AI 构建工具提出的要求

针对每个实体,逐个使用以下模板:

创建一个供应商功能,包括列表、新建、编辑和删除。字段:名称(必填)、联系邮箱(需为有效邮箱)、电话、类别(可选:食品、包装、清洁用品)、备注。列表视图支持按名称搜索,按类别筛选,每页 20 条。删除前需确认;如果某供应商有订单,则改为归档而非删除。只有已登录的工作人员可以新建、编辑或归档——请在服务器端强制执行此权限。

然后,分别以有权限的用户和无权限的用户身份,测试全部四种操作。一个实体运行正常后,再添加下一个。如何构建内部工具展示了 CRUD 页面如何组成完整的管理应用,什么是 Postgres 则解释了大多数此类应用所依托的数据库。

Mythex 上的 CRUD 应用

CRUD 应用是 AI 应用构建工具最擅长的功能之一,Mythex 也不例外。在聊天中说明实体及其字段,Mythex 就会为项目附加一个 Postgres 数据库、创建数据表,并在实时预览中构建列表、表单和详情页;之后你可以运行 /test 检查流程。文档中有一份带入门提示词的 CRUD 应用配方,而内部工具构建器和仪表板模板是很好的起点。

常见问题

CRUD 是什么的缩写?

CRUD 代表创建(Create)、读取(Read)、更新(Update)和删除(Delete):即新增一条记录、查看记录、修改一条记录以及删除一条记录。几乎每个存储数据的应用都由这四种操作构成。

什么是 CRUD 应用?

CRUD 应用是主要任务为通过表单、列表和详情页管理记录的应用,例如客户关系管理(CRM)系统、库存跟踪工具、预约管理后台或招聘信息平台的后台。大多数内部工具和管理面板都是 CRUD 应用。

CRUD 与 REST API 有什么关系?

在典型的 REST API 中,创建使用 POST 请求,读取使用 GET,更新使用 PUT 或 PATCH,删除使用 DELETE。后端随后执行相应的数据库操作:INSERT、SELECT、UPDATE 或 DELETE。

CRUD 应用太简单,没有价值吗?

不是的。许多有用的商业软件都是 CRUD 应用,并在其上加入了良好的规则、权限和报表。价值在于良好地建模数据并契合工作流程,而不在于什么特别的技术。

Mythex · Pricing · 用 AI 构建任何东西 · 网站和应用模板 · Mythex 对比 · AI 应用构建术语表 · 免费的 AI 应用构建工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 繁體中文(香港) 繁體中文(台灣)