DEVOPSTRAINER
Вопросы / Базы данных

Чем отличаются TRUNCATE, DELETE и DROP? В чём разница между DDL и DML?

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

- DELETE — удаляет строки по условию (можно WHERE), пишет каждую строку в журнал отката, откатывается, блокирует удаляемые строки; медленно.
- TRUNCATE — мгновенно очищает всю таблицу без построчного журнала, блокирует таблицу целиком; необратимо (в MySQL — авто-commit).
- DROP — сносит саму таблицу вместе со структурой, индексами, триггерами.

DELETE — это DML (данные, откатываемо), TRUNCATE/DROP — DDL (структура).

Ещё вопросы по теме «Базы данных»

Готовишься к DevOps-собеседованию?
Полные разборы вопросов, карточки с интервальным повторением, квизы и песочница с реальными сломанными Linux-серверами — бесплатно после входа.
Открыть тренажёр →