• 6 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 5/13/24

Supprimez des objets dans votre BDD

Supprimez un objet en particulier

Finissons par un dernier cas d’usage. Admettons qu’un utilisateur souhaite se désinscrire de Foodly. Il faudrait alors le supprimer de votre BDD. Mais comment faire ?

Voici par exemple la commande pour supprimer le deuxième utilisateur :

DELETE FROM `utilisateur` WHERE `id` = '2';

Une fois cette commande effectuée, vous pouvez vérifier qu’elle a fonctionné en listant les utilisateurs (commande SELECT).

Vous n’en n’avez désormais plus que 3, l’ancien 2e ayant disparu (pour de bon) !

Supprimez tous les objets d'une table

Faisons une petite mise en situation ; votre manager vous propose de taper la commande suivante :

DELETE FROM utilisateur;

Quel serait votre réflexe ?

Si vous pensez à "taper la commande sans hésiter", sachez que ça n'est pas forcément la bonne réponse. 😇

En effet, cette commande supprime tous les utilisateurs de la table ! Donc si vous l'avez tapé, la table est désormais vide...

Si c'était une blague elle était de mauvais gout.  Si c'était un test, j'espère que vous avez répondu à votre manager "tu es vraiment sûr de toi ? La commande va écraser notre base utilisateur et cette action ne semble très judicieuse". C'est à mon sens la meilleure réponse !

Supprimez une table ou une base de données

Tant qu'on est dans les commandes à ne taper que si on est sûr à 300% de ce que l'on veut faire, je vous donne la commande pour non seulement supprimer tous les objets d'une table, mais en plus supprimer la table elle-même. Pour la table utilisateur  par exemple : 

DROP TABLE `utilisateur`;

Notez au passage que j'ai remis les backticks  `  pour cette commande.

Il vous suffit de taper la commande  SHOW tables ;  pour comprendre l'étendue du problème.

Il se peut que cette commande vous renvoie une erreur, et nous verrons dans la suite de cours le type d'erreurs qui peuvent être remontées.

Allez, une dernière commande à ne pas taper trop vite :

DROP DATABASE foodly ;

Bon, en vérité, pas besoin de vous faire un dessin... Je pense que vous avez compris le danger d'une telle commande. Pour les plus aventuriers d'entre vous, la commande  SHOW DATABASES;  vous aidera à constater la situation. 😉

À vous de jouer !

Bon, on va dire qu’on s’est complètement trompé pour notre pomme golden. Même en la modifiant précédemment dans la BDD de Foodly, les données sont complètement fausses. Comment feriez-vous pour la supprimer définitivement de la BDD ?

Reprenez votre terminal et essayez de supprimer la pomme golden. Vérifiez votre commande avec ce screencast :

En résumé

  • On supprime les objets d’une table avec la commande DELETE.

  • Si on ne filtre pas avec WHERE, on risque de supprimer tous les objets de la table. Ce qui est rarement ce que l’on souhaite !

  • On peut supprimer une table ou une base de donnée avec la commande  DROP TABLE  ou  DROP DATABASE .

  • De façon générale, il vaut mieux relire une commande plusieurs fois pour éviter des erreurs parfois tragiques.

Ajouter, lire, modifier, supprimer… Vous maîtrisez désormais les opérations CRUD ! Bravo ! 👏

Il est maintenant temps d’apprendre comment effectuer des opérations SQL avancées pour donner du sens à votre donnée. C’est dans la partie suivante que vous allez l’apprendre !

Example of certificate of achievement
Example of certificate of achievement