Middle
Wat is het verschil tussen DELETE en TRUNCATE in SQL?
sobes.tech AI
Antwoord van AI
De belangrijkste verschillen tussen DELETE en TRUNCATE in SQL:
- DELETE verwijdert rijen uit een tabel rij voor rij en kan een
WHERE-voorwaarde hebben. De operatie wordt gelogd, waardoor het ongedaan maken (ROLLBACK) mogelijk is. - TRUNCATE verwijdert alle rijen uit de tabel volledig, zonder de mogelijkheid om een voorwaarde op te geven. Het is een snellere operatie omdat het niet het verwijderen van elke rij afzonderlijk logt, maar de datagebieden reset.
Voorbeeld:
DELETE FROM users WHERE age < 18; -- verwijdert alleen gebruikers jonger dan 18
TRUNCATE TABLE users; -- verwijdert alle gebruikers in één keer
Daarnaast reset TRUNCATE meestal de auto-increment tellers, terwijl DELETE dat niet doet.