Sobes.tech
Middle

Mis vahe on DELETE ja TRUNCATE SQL-is?

sobes.tech AI

Vastus AI-lt

Peamised erinevused DELETE ja TRUNCATE vahel SQL-is:

  • DELETE eemaldab ridu tabelist rida haaval ja võib omada WHERE tingimust. Operatsioon registreeritakse logisse, võimaldades tagasi pöördumist (ROLLBACK).
  • TRUNCATE eemaldab kogu tabeli sisu täielikult, ilma tingimust määramata. See on kiirem operatsioon, kuna see ei logi iga rea kustutamist eraldi, vaid lähtestab andmesed.

Näide:

DELETE FROM users WHERE age < 18; -- eemaldab ainult kasutajad, kes on alla 18
TRUNCATE TABLE users; -- eemaldab kõik kasutajad korraga

Lisaks lähtestab TRUNCATE tavaliselt automaatse kasvaja loendurid, samas kui DELETE mitte.