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
WHEREtingimust. 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.