Dans MySQL, vous pouvez supprimer des données aussi facilement que vous pouvez les interroger ou les mettre à jour.
SQL DELETE
Déclaration
Utilisez le SQL DELETE
déclaration pour supprimer des données de votre base de données. Comme le SELECT
et UPDATE
instructions, le DELETE
l'instruction accepte un WHERE
clause afin que vous puissiez spécifier le ou les enregistrements exacts à supprimer.
Syntaxe
DELETE FROM table_name WHERE column_name = value;
Exemple
-
Les données
Voici les données avant de supprimer quoi que ce soit.
-
Supprimer certaines données
Supprimons les raisins rouges de notre liste de fruits. Les raisins rouges ont reçu un FruitId de
5
nous allons donc l'utiliser dans notreDELETE
déclaration.DELETE FROM Fruit WHERE FruitId = 5;
-
Le résultat
Si nous exécutons le code ci-dessus, puis sélectionnons toutes les lignes de la table, nous pouvons voir que l'enregistrement a été supprimé.
Supprimer tous les enregistrements
Vous pouvez supprimer tous les enregistrements d'une table assez facilement. En fait, il est plus facile de supprimer tous enregistrements que de supprimer un enregistrement spécifique.
-
Le code
Pour supprimer tous enregistrements dans une table, omettez simplement
WHERE
clause. Comme ceci :DELETE FROM Fruit;
-
Le résultat
Oups… Plus d'enregistrements !
Comme vous pouvez l'imaginer, il vaut la peine d'être très prudent lorsque vous utilisez le DELETE
déclaration. C'est là que le mode Safe Updates peut aider (comme nous l'avons couvert lors de la mise à jour de nos données).
Il s'avère que je n'ai pu exécuter l'instruction ci-dessus qu'après avoir désactivé le mode Safe Updates. Donc, avant d'exécuter cette instruction, j'ai exécuté la commande suivante :
SET SQL_SAFE_UPDATES = 0;
Alors maintenant, c'est probablement le bon moment pour moi d'activer à nouveau les mises à jour sécurisées - avant que je ne fasse plus de dégâts…
SET SQL_SAFE_UPDATES = 1;
Restaurer les données
Maintenant que nous avons effacé tous les enregistrements du Fruit table, voyons si nous pouvons les restaurer à leur valeur d'origine. Heureusement pour nous, nous avons précédemment écrit un script pour insérer des données dans nos tables.
-
Le code
Alors retirons le morceau qui peuple le Fruit table et exécutez-le :
INSERT INTO Fruit VALUES (1,'Apple',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (2,'Orange',5,2,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (3,'Banana',20,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (4,'Watermelon',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (5,'Grapes',15,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (6,'Strawberry',12,7,'2015-02-15 10:30:00','2015-02-15 10:30:00');
-
Le résultat
Maintenant, notre tableau devrait ressembler à ce qu'il était auparavant lorsque nous avons initialement rempli les données.