DELETE
DELETE retire des lignes d'une table tout en conservant sa structure. On l'utilise pour purger des données obsolètes ou annulées, toujours avec un WHERE vérifié au préalable.
- supprimer
- effacer
- DML
- TRUNCATE
Syntaxe
DELETE FROM tableWHERE condition;Exemple
DELETE FROM ordersWHERE status = 'annulé' AND id NOT IN (SELECT order_id FROM order_items);SELECT status, COUNT(*) AS nbFROM ordersGROUP BY statusORDER BY status;-- Jeu de données : boutique-- Purge des commandes annulées qui n'ont aucune ligne de commande-- Résultat attendu :-- en cours | 1-- livré | 3À retenir
- DELETE FROM table sans WHERE vide la table mais la garde, avec ses index et contraintes. DROP TABLE, lui, supprime la table elle-même.
- Piège : supprimer une ligne parente (une commande) laisse ses lignes enfants (order_items) orphelines si aucune contrainte ne protège la relation. Activez les clés étrangères ou supprimez les enfants d'abord.
- Avec PRAGMA foreign_keys = ON, l'action ON DELETE de la clé étrangère s'applique : CASCADE supprime aussi les enfants, RESTRICT bloque la suppression.
- SQLite n'a pas de TRUNCATE : DELETE FROM table sans WHERE est optimisé pour jouer ce rôle. PostgreSQL, MySQL et SQL Server proposent TRUNCATE TABLE, plus rapide mais non filtrable.
Voir aussi
- INSERTINSERT ajoute de nouvelles lignes dans une table, une par une, par lot ou à partir d'une requête. Les colonnes non citées prennent leur valeur par défaut, ou NULL si aucune n'est prévue.
- UPDATEUPDATE modifie les valeurs de lignes existantes. La clause WHERE désigne les lignes visées, SET les nouvelles valeurs, qui peuvent se calculer à partir des anciennes (hausse de prix, statut).
- TransactionsUne transaction regroupe plusieurs écritures qui réussissent toutes ou échouent toutes. Une commande et ses lignes, ou un virement entre deux comptes, ne doivent jamais rester à moitié enregistrés.
- FOREIGN KEYUne clé étrangère garantit qu'une valeur pointe vers une ligne qui existe dans une autre table, comme l'élève d'une absence. Elle empêche les références orphelines et encadre les suppressions.