К какой группе SQL-команд относятся SELECT, INSERT, UPDATE, DELETE?
- Что такое DDL и DML?
SELECT, INSERT, UPDATE, DELETE — DML (работа с данными). DDL — схема (CREATE, ALTER, DROP), TCL — транзакции (COMMIT, ROLLBACK), DCL — права (GRANT, REVOKE).
- SELECT иногда выделяют в DQL
- В PostgreSQL DDL транзакционен — можно откатить ALTER TABLE
- В MySQL и Oracle DDL делает неявный коммит
А ещё Разница важна для миграций: откатится ли упавшая миграция целиком
Подробно
- DDL (Data Definition Language) — определение структуры:
CREATE TABLE,ALTER TABLE,DROP,CREATE INDEX,TRUNCATE; - DML (Data Manipulation Language) — работа со строками:
SELECT,INSERT,UPDATE,DELETE,MERGE; SELECT иногда отдельно — DQL; - TCL (Transaction Control) —
BEGIN,COMMIT,ROLLBACK,SAVEPOINT; - DCL (Data Control) —
GRANT,REVOKE.
Практическое значение — транзакционность DDL. В PostgreSQL почти весь DDL можно выполнить внутри транзакции и откатить: миграция из нескольких шагов либо применится целиком, либо не применится. В MySQL и Oracle DDL вызывает неявный коммит: упавшая на середине миграция оставит схему в промежуточном состоянии. Исключения в PostgreSQL — CREATE INDEX CONCURRENTLY и некоторые операции, которые нельзя выполнять в транзакции.
Что хотят услышать
- Группы команд с примерами.
- SELECT, INSERT, UPDATE, DELETE — DML.
- Транзакционность DDL в разных СУБД — плюс.
Частые ошибки
- Относить TRUNCATE к DML.
- Считать, что ALTER TABLE всегда откатывается.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗DDL (Data Definition Language) — определение схемы: CREATE, ALTER, DROP
- ✓DML (Data Manipulation Language) — чтение и изменение данных
- ✗TCL (Transaction Control Language) — управление транзакциями: COMMIT, ROLLBACK
- ✗DCL (Data Control Language) — управление правами: GRANT, REVOKE
Что спросят дальше
- Чем DELETE отличается от TRUNCATE?
- Что делает COMMIT?
Разбор темы
- SQL: операторы, NULL и фильтрация
Группы команд, логический порядок SELECT, трёхзначная логика NULL, разница WHERE/HAVING и оконные функции — с ловушками, на которых валятся на собеседовании.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.