Cours SQL et MySQL · Module 5: Modifier les données (DML)

DELETE - retirer un parchemin du rayon

2 min de lecture
Dans cette leçon3

Quand un livre est détruit ou qu'un lecteur se retire de la Bibliothèque, le scribe supprime la ligne correspondante avec la commande DELETE FROM.

Syntaxe

1DELETE FROM czytelnicy
2WHERE id = 12;

Deux parties :

  • DELETE FROM czytelnicy - de quel rayon nous retirons.
  • WHERE id = 12 - quelle ligne doit disparaître.

Remarque qu'avec DELETE, nous ne fournissons aucune colonne - nous supprimons la ligne entière, pas un seul champ. (Pour vider un seul champ, on utilise UPDATE ... SET champ = NULL.)

Supprimer plusieurs lignes

WHERE peut désigner plus d'une ligne :

1DELETE FROM ksiazki
2WHERE dostepna = 0;

Cela supprimera tous les livres marqués comme indisponibles.

DEUXIÈME GRAND AVERTISSEMENT : toujours un WHERE !

Cette commande paraît inoffensive, et pourtant c'est la plus dangereuse de toutes :

1DELETE FROM czytelnicy;

Sans WHERE, elle supprime TOUS les lecteurs - tout le rayon est vidé ! Il n'y a ni corbeille, ni retour en arrière. Les parchemins ont disparu.

C'est pourquoi un scribe expérimenté a une habitude de fer : écrire d'abord le WHERE, et seulement ensuite le reste de la commande. Certains vérifient même la condition avec un SELECT * FROM table WHERE ... terminé par un « ; » pour voir quelles lignes vont disparaître avant de lancer le DELETE.

Tu as repéré une erreur dans cette leçon ?

Teste tes connaissances

Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.

  1. 1. Que va faire la commande : DELETE FROM czytelnicy; (sans clause WHERE) ?

  2. 2. Pourquoi ne fournit-on pas de noms de colonnes avec DELETE ?

Tâches pratiques dans le jeu

  • Éditeur de code

    Écris une commande qui supprime de la table czytelnicy un seul lecteur - celui avec id = 12. Veille à utiliser la clause WHERE.

  • Tri horizontal

    Ordonne sur une ligne les éléments de la requête dans le bon ordre (de gauche à droite) :

  • Tri horizontal

    Ordonne sur une ligne la commande qui supprime une ligne (de gauche à droite) :

  • Éditeur de code

    Écris une commande qui supprime de la table wypozyczenia seulement l'entrée avec id = 3. Veille à utiliser la clause WHERE.