logo

Instruction MySQL DELETE

L'instruction MySQL DELETE est utilisée pour supprimer les enregistrements de la table MySQL qui ne sont plus requis dans la base de données. Cette requête dans MySQL supprime une ligne complète de la table et produit le nombre de lignes supprimées . Cela nous permet également de supprimer plusieurs enregistrements de la table au sein d'une seule requête, ce qui est avantageux lors de la suppression d'un grand nombre d'enregistrements d'une table. En utilisant l'instruction delete, nous pouvons également supprimer des données en fonction de conditions.

hauteur de décalage

Une fois que nous supprimons les enregistrements à l'aide de cette requête, nous ne pouvons pas les récupérer . Par conséquent, avant de supprimer des enregistrements de la table, il est recommandé de créer une sauvegarde de votre base de données . Les sauvegardes de la base de données nous permettent de restaurer les données chaque fois que nous en aurons besoin à l'avenir.

Syntaxe:

Voici la syntaxe qui illustre comment utiliser l'instruction DELETE :

 DELETE FROM table_name WHERE condition; 

Dans l'instruction ci-dessus, nous devons d'abord spécifier le nom de la table dont nous souhaitons supprimer les données. Deuxièmement, nous devons spécifier la condition de suppression des enregistrements dans la clause WHERE, qui est facultative. Si nous omettons la clause WHERE dans l'instruction, cette requête supprimera des enregistrements entiers de la table de la base de données.

Si nous voulons supprimer des enregistrements de plusieurs tables à l'aide d'une seule requête DELETE, nous devons ajouter le REJOINDRE clause avec l'instruction DELETE.

Si nous voulons supprimer tous les enregistrements d'une table sans connaître le nombre de lignes supprimées, nous devons utiliser le TABLE TRONQUÉE déclaration qui donne de meilleures performances.

Comprenons comment fonctionne l'instruction DELETE dans MySQL à travers divers exemples.

Exemples d'instructions MySQL DELETE

Ici, nous allons utiliser le 'Employés' et 'Paiement' tableaux pour la démonstration de l’instruction DELETE. Supposons que les tables Employés et Paiement contiennent les données suivantes :

requête de suppression mysql
requête de suppression mysql

Si nous voulons supprimer un employé dont emp_id est 107 , nous devrions utiliser l'instruction DELETE avec la clause WHERE. Voir la requête ci-dessous :

 mysql> DELETE FROM Employees WHERE emp_id=107; 

Après l'exécution de la requête, elle renverra la sortie comme l'image ci-dessous. Une fois l'enregistrement supprimé, vérifiez la table à l'aide de l'instruction SELECT :

requête de suppression mysql

Si nous voulons supprimer tous les enregistrements de la table, il n'est pas nécessaire d'utiliser la clause WHERE avec l'instruction DELETE. Voir le code et la sortie ci-dessous :

requête de suppression mysql

Dans le résultat ci-dessus, nous pouvons voir qu'après avoir supprimé toutes les lignes, la table Employees sera vide. Cela signifie qu'aucun enregistrement n'est disponible dans la table sélectionnée.

Clause MySQL DELETE et LIMIT

La clause MySQL Limit est utilisée pour limiter le nombre de lignes renvoyées à partir du jeu de résultats, plutôt que de récupérer l'intégralité des enregistrements de la table. Parfois, nous souhaitons limiter le nombre de lignes à supprimer du tableau ; dans ce cas, nous utiliserons le LIMITE clause comme suit :

recherche binaire en java
 DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count; 

Il est à noter que l'ordre des lignes dans une table MySQL n'est pas spécifié. Nous devrions donc toujours utiliser le COMMANDÉ PAR en utilisant la clause LIMIT.

Par exemple , la requête suivante trie d'abord les employés selon leur nom par ordre alphabétique et supprime les trois premiers employés de la table :

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

Cela donnera le résultat ci-dessous :

inverser la chaîne en java
requête de suppression mysql

Clause MySQL DELETE et JOIN

La clause JOIN est utilisée pour ajouter deux ou plusieurs tables dans MySQL. Nous ajouterons la clause JOIN avec l'instruction DELETE chaque fois que nous souhaitons supprimer des enregistrements de plusieurs tables au sein d'une seule requête. Voir la requête ci-dessous :

 mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102; 

Sortir:

Après l'exécution, nous verrons le résultat comme l'image ci-dessous :

requête de suppression mysql

Pour lire plus d'informations sur l'instruction DELETE avec la clause JOIN, Cliquez ici .