Sobes.tech
Middle
29

SQL-да DELETE пен TRUNCATE арасындағы айырмашылық неде?

Сұралған компаниялар
ДомкликДомклик
ЛеруаМерлен

AI-дан жауап

sobes.tech AI

Основные различия между DELETE и TRUNCATE в SQL:

  • DELETE удаляет строки из таблицы построчно и может иметь условие WHERE. Операция логируется, что позволяет откатить изменения (ROLLBACK).
  • TRUNCATE удаляет все строки из таблицы целиком, без возможности указать условие. Это более быстрая операция, так как не логирует удаление каждой строки отдельно, а сбрасывает данные страницы.

Пример:

DELETE FROM users WHERE age < 18; -- удалит только пользователей младше 18
TRUNCATE TABLE users; -- удалит всех пользователей сразу

Также TRUNCATE обычно сбрасывает счётчики автоинкремента, а DELETE — нет.