Sobes.tech
Middle

Koja je razlika između DELETE i TRUNCATE u SQL?

sobes.tech АИ

Одговор од АИ

Основне разлике између DELETE и TRUNCATE у SQL:

  • DELETE брисе редове из табеле ред по ред и може имати услов WHERE. Операција се региструје у логу, што омогућава повратак (ROLLBACK).
  • TRUNCATE брисе све редове из табеле у целости, без могућности да се наведе услов. Ово је бржа операција, јер не региструје брисање сваког реда појединачно, већ ресетује странице података.

Пример:

DELETE FROM users WHERE age < 18; -- брисаће само кориснике млађе од 18 година
TRUNCATE TABLE users; -- брисаће све кориснике одједном

Такође, TRUNCATE обично ресетује бројаче аутоматског увећања, док DELETE не.