MySQL Requête DELETE : comment supprimer une ligne d'un tableau
Qu'est-ce que la requête DELETE ?
MySQL Supprimer La commande est utilisée pour supprimer les lignes qui ne sont plus nécessaires des tables de la base de données. Il supprime la ligne entière de la table et renvoie le nombre de lignes supprimées. La commande Supprimer est pratique pour supprimer les données temporaires ou obsolètes de votre base de données.
La requête Supprimer dans MySQL peut supprimer plusieurs lignes d’une table en une seule requête. Cela s'avère être un avantage lors de la suppression d'un grand nombre de lignes d'une table de base de données.
Une fois une ligne Supprimer dans MySQL Si une ligne a été supprimée, elle ne peut pas être récupérée. Il est donc fortement recommandé de faire des sauvegardes de la base de données avant de supprimer des données de la base de données. Cela peut vous permettre de restaurer la base de données et de visualiser les données ultérieurement si nécessaire.
Comment supprimer une ligne dans MySQL
Pour supprimer une ligne dans MySQL, l'instruction DELETE FROM est utilisée :
DELETE FROM `table_name` [WHERE condition];
ICI
- DELETE FROM `table_name` indique MySQL serveur pour supprimer des lignes de la table ..
- [WHERE condition] est facultative et est utilisée pour mettre un filtre qui restreint le nombre de lignes affectées par la syntaxe DELETE MySQL requête de ligne.
Si la clause O n'est pas utilisé dans le MySQL requête SUPPRIMER, alors toutes les lignes d'une table donnée seront supprimées.
Exemple de MySQL Supprimer la requête
Avant d'entrer dans une discussion plus détaillée sur l'instruction SQL DELETE, insérons quelques exemples de données dans la table movies avec lesquelles travailler.
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7); INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8); INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);
L'exécution du script ci-dessus ajoute trois (3) films dans la table des films. Avant d'aller plus loin dans notre leçon, mettons tous les films dans notre table. Le script ci-dessous fait cela.
SELECT * FROM `movies`;
L'exécution du script ci-dessus nous donne les résultats suivants.
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
Supposons que la vidéothèque Myflix ne souhaite plus louer « Le Dictateur » à ses membres et souhaite le supprimer de la base de données. Son identifiant de film est 18, nous pouvons utiliser le script ci-dessous pour supprimer une ligne du tableau MySQL Exemple.
DELETE FROM `movies` WHERE `movie_id` = 18;
Exécuter le script ci-dessus dans MySQL Table de travail par contre, Myflix supprime le film avec l'identifiant 18 de la table de la base de données.
Voyons l'état actuel de la table des films.
SELECT * FROM `movies`;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
NOTE:
- le film portant l'identifiant 18 n'a pas été renvoyé dans le jeu de résultats de la requête.
- vous ne pouvez pas supprimer une seule colonne d'un tableau. Vous pouvez supprimer une ligne entière.
Disons que nous avons une liste de films que nous souhaitons supprimer . Nous pouvons utiliser la clause WHERE avec IN.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
L'exécution du script ci-dessus supprime les films portant les ID 20 et 21 de notre table de films.
Résumé
- La commande Supprimer dans MySQL, est utilisé pour supprimer les données qui ne sont plus nécessaires d'une table.
- La « clause WHERE » permet de limiter le nombre de lignes affectées par la requête DELETE MySQL commander.
- Une fois les données supprimées, elles ne peuvent plus être récupérées, il est donc fortement recommandé de faire des sauvegardes avant de supprimer les données.