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.