MySQL DELETE : supprimer des entrées d’une table

Avec la commande MySQL DELETE, supprimez facilement des entrées de votre table. Vous pouvez l’utiliser pour supprimer des lignes spécifiques, ou toutes les lignes de la table concernée.

MySQL DELETE : qu’est-ce que c’est ?

MySQL est un système basé sur les tables qui vous aide à structurer vos données et à stocker celles-ci de façon claire. Pour que le système de gestion de base de données et les entrées qu’il contient restent à jour, il convient de temps à autre de supprimer certaines d’entre elles. Pour ce faire, vous pouvez utiliser la commande MySQL DELETE du logiciel. Cette fonctionnalité vous permet de spécifier avec précision l’ensemble de données à supprimer. Il vous suffit de mettre en évidence les données concernées et d’indiquer la table à partir de laquelle la suppression doit être effectuée.

Syntaxe de la commande DELETE de MySQL

La syntaxe de base de la commande MySQL DELETE est très simple à expliquer. Si vous êtes en train de vous familiariser avec MySQL, vous en connaissez déjà la structure grâce aux commandes MySQL CONCAT, MySQL REPLACE, MySQL DATE ou MySQL DATEDIFF. En ce qui concerne la commande MySQL DELETE, le système a toutefois besoin de deux informations importantes. Voici ce à quoi doit ressembler la commande :

DELETE FROM table
WHERE condition;
bash

Avec l’information « FROM », vous indiquez au système la table dans laquelle se trouve l’ensemble de données à supprimer. Avec l’information « WHERE », vous précisez la condition devant être remplie par l’ensemble de données pour faire l’objet d’une suppression. Si vous ne renseignez pas la condition relative à « WHERE », la ligne entière est alors supprimée.

MySQL DELETE : exemple

Pour comprendre le fonctionnement exact de la commande MySQL DELETE, rien ne vaut un exemple pratique. Imaginons donc le fichier client d’une entreprise ; celui-ci est stocké sous forme d’une table, appelée « Clients » :

Numéro client

Nom

Ville

Pays

1

Jones

Londres

Royaume-Uni

2

Mustermann

Hambourg

Allemagne

3

Dupond

Paris

France

4

Schmitz

Vienne

Autriche

5

Schmidt

Berlin

Allemagne

Pour supprimer le client « Jones », il est donc possible d’utiliser la commande MySQL DELETE. Il convient donc de saisir les informations suivantes :

DELETE FROM Client
WHERE Nom = "Jones";
bash

La ligne correspondante est alors supprimée du fichier complètement

MySQL DELETE : effacer l’intégralité d’une table

Comme indiqué plus haut, la commande MySQL DELETE peut également vous servir à supprimer toutes les lignes d’une table sans pour autant supprimer la table en elle-même. Pour l’exemple ci-dessus, la commande devrait donc ressembler à ce qui suit :

DELETE FROM Client;
bash

Cela a pour effet de supprimer toutes les entrées, mais de conserver la table et sa structure.

Commande MySQL DELETE LIMIT

Grâce à l’ajout de la fonctionnalité « LIMIT », vous pouvez limiter le nombre de lignes à supprimer avec la commande MySQL DELETE. Il suffit pour cela de donner l’ordre au système de trier les différentes entrées. La syntaxe de base est la suivante :

DELETE FROM table
ORDER BY: condition
LIMIT: nombre;
bash

Pour un exemple tel que la liste de clients ci-dessus, vous pourriez donc utiliser la commande MySQL DELETE accompagnée de la fonctionnalité « LIMIT », comme suit :

DELETE FROM Client
ORDER BY Nom
LIMIT 2;
bash

Dans ce cas, le système trie tous les clients par ordre alphabétique en fonction de la première lettre de leur nom de famille, puis supprime uniquement les deux premiers.

Voici une autre utilisation possible de la commande MySQL DELETE accompagnée de la fonctionnalité « LIMIT » :

DELETE FROM Client
WHERE Pays = "Allemagne"
ORDER BY Nom
LIMIT 2;
bash

Dans ce cas, le système trie tous les clients allemands par ordre alphabétique, puis supprime uniquement les deux premières entrées.