Что такое DML в SQL?

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

Ответ

DML (Data Manipulation Language) — это подмножество SQL, предназначенное для операций с данными внутри таблиц базы данных. В отличие от DDL (Data Definition Language), который работает со структурой БД, DML манипулирует содержимым.

Основные команды DML:

  • SELECT — выборка данных.
  • INSERT — добавление новых записей.
  • UPDATE — изменение существующих записей.
  • DELETE — удаление записей.

Примеры использования:

-- Вставка новой строки
INSERT INTO users (name, email) VALUES ('Иван', 'ivan@example.com');

-- Обновление данных по условию
UPDATE users SET status = 'active' WHERE last_login > '2024-01-01';

-- Удаление записей
DELETE FROM logs WHERE created_at < NOW() - INTERVAL '30 days';

-- Выборка с фильтрацией и сортировкой
SELECT id, name, email FROM users WHERE country = 'RU' ORDER BY name;

Ключевой момент: DML-операции (INSERT, UPDATE, DELETE) могут быть отменены с помощью ROLLBACK в рамках транзакции, если СУБД поддерживает транзакционность.