Avec la commande MySQL DELETE, supprimez fa­ci­le­ment des entrées de votre table. Vous pouvez l’utiliser pour supprimer des lignes spé­ci­fiques, 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 à struc­tu­rer 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 fonc­tion­na­lité vous permet de spécifier avec précision l’ensemble de données à supprimer. Il vous suffit de mettre en évidence les données con­cer­nées et d’indiquer la table à partir de laquelle la sup­pres­sion 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 fa­mi­lia­ri­ser avec MySQL, vous en con­nais­sez 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 in­for­ma­tions im­por­tantes. Voici ce à quoi doit res­sem­bler la commande :

DELETE FROM table
WHERE condition;
bash

Avec l’in­for­ma­tion « FROM », vous indiquez au système la table dans laquelle se trouve l’ensemble de données à supprimer. Avec l’in­for­ma­tion « WHERE », vous précisez la condition devant être remplie par l’ensemble de données pour faire l’objet d’une sup­pres­sion. Si vous ne ren­seig­nez pas la condition relative à « WHERE », la ligne entière est alors supprimée.

MySQL DELETE : exemple

Pour com­prendre le fonc­tion­ne­ment exact de la commande MySQL DELETE, rien ne vaut un exemple pratique. Imaginons donc le fichier client d’une en­tre­prise ; celui-ci est stocké sous forme d’une table, appelée « Clients » :

Numéro client Nom Ville Pays
1 Jones Londres Royaume-Uni
2 Mus­ter­mann 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 in­for­ma­tions suivantes :

DELETE FROM Client
WHERE Nom = "Jones";
bash

La ligne cor­res­pon­dante est alors supprimée du fichier com­plè­te­ment

MySQL DELETE : effacer l’in­té­gra­lité 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 res­sem­bler à 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 fonc­tion­na­lité « 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 dif­fé­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 ac­com­pag­née de la fonc­tion­na­lité « LIMIT », comme suit :

DELETE FROM Client
ORDER BY Nom
LIMIT 2;
bash

Dans ce cas, le système trie tous les clients par ordre al­pha­bé­tique en fonction de la première lettre de leur nom de famille, puis supprime uni­que­ment les deux premiers.

Voici une autre uti­li­sa­tion possible de la commande MySQL DELETE ac­com­pag­née de la fonc­tion­na­lité « 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 al­pha­bé­tique, puis supprime uni­que­ment les deux premières entrées.

Aller au menu principal