К списку
SQL и базы данныхJuniorСкрининг с HR

Что представляет собой DML в контексте баз данных

Краткий ответ

DML (Data Manipulation Language) — это часть SQL, предназначенная для работы с данными внутри таблиц. Она включает команды для добавления, изменения, удаления и извлечения записей.

Развёрнуто

Краткий ответ

DML — это набор SQL-команд, которые позволяют управлять содержимым таблиц в базе данных. Основные операции включают вставку (INSERT), обновление (UPDATE), удаление (DELETE) и выборку данных (SELECT).


Как это работает

Data Manipulation Language (DML) — это подмножество языка SQL, сфокусированное на манипуляциях с данными, а не с структурой базы. Команды DML взаимодействуют непосредственно с записями в таблицах, позволяя:

  • Добавлять новые строки с помощью INSERT
  • Изменять существующие данные через UPDATE
  • Удалять записи при помощи DELETE
  • Извлекать необходимую информацию с помощью SELECT

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

Команда Назначение
INSERT Добавляет новые записи
UPDATE Обновляет существующие данные
DELETE Удаляет записи из таблицы
SELECT Извлекает данные из таблиц

Пример

-- Добавить новую запись в таблицу users
INSERT INTO users (id, name, email) VALUES (1, 'Иван', 'ivan@example.com');

-- Обновить email пользователя с id = 1
UPDATE users SET email = 'ivan_new@example.com' WHERE id = 1;

-- Удалить пользователя с id = 1
DELETE FROM users WHERE id = 1;

-- Выбрать всех пользователей
SELECT * FROM users;

Данный пример демонстрирует основные операции DML с таблицей users.

Что важно знать на собеседовании

  • DML отвечает за изменение и выборку данных, а не за структуру таблиц.
  • Команда SELECT часто относят к DML, хотя технически она не меняет данные.
  • DML-операции подлежат контролю транзакций и могут быть отменены через ROLLBACK.
  • Знание разницы между DML и DDL помогает грамотно формулировать запросы и понимать логику работы базы.

Тема: SQL и базы данных | Уровень: junior