Sobes.tech
Middle

Quelle est la différence entre DELETE et TRUNCATE en SQL?

sobes.tech IA

Réponse de l'IA

Les principales différences entre DELETE et TRUNCATE en SQL:

  • DELETE supprime les lignes d'une table une par une et peut comporter une condition WHERE. L'opération est enregistrée dans le journal, ce qui permet de revenir en arrière (ROLLBACK).
  • TRUNCATE supprime toutes les lignes d'une table en une seule opération, sans possibilité de spécifier une condition. C'est une opération plus rapide car elle ne journalise pas la suppression de chaque ligne individuellement, mais réinitialise les pages de données.

Exemple:

DELETE FROM users WHERE age < 18; -- ne supprimera que les utilisateurs de moins de 18 ans
TRUNCATE TABLE users; -- supprimera tous les utilisateurs en une seule fois

De plus, TRUNCATE réinitialise généralement les compteurs d'auto-incrémentation, contrairement à DELETE.