Middle
Care este diferența dintre DELETE și TRUNCATE în SQL?
sobes.tech AI
Răspuns de la AI
Principalele diferențe între DELETE și TRUNCATE în SQL:
- DELETE șterge rânduri din tabel unul câte unul și poate avea o condiție
WHERE. Operația este înregistrată în jurnal, permițând revertarea (ROLLBACK). - TRUNCATE șterge toate rândurile din tabel în întregime, fără posibilitatea de a specifica o condiție. Este o operație mai rapidă, deoarece nu înregistrează ștergerea fiecărui rând individual, ci resetează paginile de date.
Exemplu:
DELETE FROM users WHERE age < 18; -- va șterge doar utilizatorii sub 18 ani
TRUNCATE TABLE users; -- va șterge toți utilizatorii deodată
De asemenea, TRUNCATE resetează de obicei contoarele auto-increment, în timp ce DELETE nu.