PaliSkill
SQL Intermédiaire

Leçon 9 / 10 — Chapitre 6: Modifier les données avec rigueur

Tester une modification avec SELECT avant de l'exécuter

Avant d'exécuter un UPDATE ou un DELETE, exécuter d'abord un SELECT avec exactement la même clause WHERE permet de voir précisément quelles lignes seraient touchées — sans rien modifier.

SELECT * FROM abonnes
WHERE statut = 'inactif'
  AND id NOT IN (SELECT abonne_id FROM inscriptions);

Si ce SELECT renvoie les lignes attendues (ici, les abonnés inactifs et sans aucune inscription), la même condition WHERE peut alors être reprise telle quelle dans un DELETE FROM abonnes WHERE ... : le nombre de lignes supprimées sera exactement celui que le SELECT avait annoncé.

À retenir :

  • SELECT * FROM table WHERE condition; avec la même condition qu'un futur UPDATE/DELETE révèle à l'avance les lignes qui seraient touchées.
  • Le nombre de lignes renvoyées par ce SELECT correspond exactement au nombre de lignes que modifierait ou supprimerait l'instruction équivalente sur la même condition.
  • Cette habitude coûte une requête de plus, mais évite des suppressions ou modifications inattendues sur une condition mal formulée.

À vous de jouer : si ce SELECT renvoyait 0 ligne, que cela vous apprendrait-il avant même d'exécuter un DELETE équivalent ?

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 80 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès