Sobes.tech
Middle

Mi a különbség a DELETE és a TRUNCATE között SQL-ben?

sobes.tech MI

Válasz az MI-től

A DELETE és a TRUNCATE közötti fő különbségek SQL-ben:

  • DELETE soronként törli a sorokat egy táblából, és tartalmazhat WHERE feltételt. A művelet naplózásra kerül, így visszavonható (ROLLBACK).
  • TRUNCATE teljes egészében törli a táblából az összes sort, anélkül, hogy feltételt lehetne megadni. Gyorsabb művelet, mivel nem naplózza minden sor törlését, hanem az adatlapokat alaphelyzetbe állítja.

Példa:

DELETE FROM users WHERE age < 18; -- csak a 18 év alatti felhasználókat törli
TRUNCATE TABLE users; -- az összes felhasználót egyszerre törli

Ezenkívül a TRUNCATE általában visszaállítja az automatikus növelő számlálókat, míg a DELETE nem.