Что такое CRUD?

«Что такое CRUD?» — вопрос из категории Базы данных, который задают на 28% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CRUD — это акроним, описывающий четыре фундаментальные операции для работы с персистентными (сохраняемыми) данными:

  • Create (Создание)
  • Read (Чтение)
  • Update (Обновление)
  • Delete (Удаление)

Эти операции составляют основу большинства прикладных систем, взаимодействующих с базами данных, файловыми системами или API.

Связь с REST API и SQL: Часто операции CRUD напрямую соотносятся с HTTP-методами в RESTful API и командами SQL:

CRUD HTTP-метод SQL-команда
Create POST INSERT
Read GET SELECT
Update PUT / PATCH UPDATE
Delete DELETE DELETE

Пример реализации CRUD для сущности "Пользователь" с использованием SQL и REST эндпоинтов:

-- Create
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');

-- Read
SELECT * FROM users WHERE id = 1;
SELECT * FROM users;

-- Update
UPDATE users SET name = 'Alicia' WHERE id = 1;

-- Delete
DELETE FROM users WHERE id = 1;
// Соответствующие REST эндпоинты
POST   /api/users     // Создать пользователя
GET    /api/users/1   // Получить пользователя с id=1
GET    /api/users     // Получить всех пользователей
PUT    /api/users/1   // Полностью обновить пользователя
PATCH  /api/users/1   // Частично обновить пользователя
DELETE /api/users/1   // Удалить пользователя

В современных фреймворках (Laravel, Django, Spring) CRUD-операции часто автоматизируются через ORM (Object-Relational Mapping) или готовые генераторы кода (scaffolding).