English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL Suppression de données (instruction DELETE)

Dans ce tutoriel, vous apprendrez comment utiliser SQL pour supprimer des enregistrements d'une table de base de données.

supprimer des données du tableau

commeINSERTL'instruction INSERT enregistre des enregistrements dans le tableau, vous pouvez également utiliser l'instruction DELETE pour supprimer des enregistrements du tableau DELETE.

Syntaxe

L'instruction DELETE est utilisée pour supprimer une ou plusieurs lignes d'un tableau.

DELETE FROM table_name WHERE condition;

Attention :Dans une instruction DELETE,WHEREla clause WHERE spécifie les enregistrements à supprimer. Cependant, elle est optionnelle ; si vous omettez ou oubliez la clause WHERE, tous les enregistrements seront définitivement supprimés du tableau.

Commençons parcréer une tabledans unCréerdepersonssupprimions quelques enregistrements du tableau.

Supposons que nousPersonnes (persons)Le tableau actuel a les enregistrements suivants :

+----+--------------------+------------+-------------+
| id | name | birth_date | phone |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth | 1996-10-17 | 0695-346721 |
|  4 | George Bailey | 1993-03-05 | 0897-034214 |
|  5 | Norman Bates | 1999-08-25 | 0522-556721 |
+----+--------------------+------------+-------------+

suppression des enregistrements selon les conditions

La requête suivante supprimera les enregistrements en fonction des conditions :idsupérieur à3depersonnes(personssupprime les lignes du tableau.

DELETE FROM persons WHERE id > 3;

Après l'exécution de la requête,Personnes (persons)Le tableau sera affiché comme suit :

+----+--------------------+------------+-------------+
| id | name | birth_date | phone |
+----+--------------------+------------+-------------+
|  1 | Peter Wilson | 1990-07-15 | 0711-020361 |
|  2 | Carrie Simpson | 1995-05-01 | 0251-031259 |
|  3 | Victoria Ashworth | 1996-10-17 | 0695-346721 |
+----+--------------------+------------+-------------+

Remarque :Veuillez vous référer àClause WHERE SQLdu tutoriel pour comprendre comment former des requêtes complexes basées sur plusieurs conditions lors de la suppression d'enregistrements à partir d'une table.

Suppression de toutes les données

De même, comme mentionné précédemment, si vous n'avez pas spécifié de clause dans la clause WHERE, toutes les lignes de la table DELETE seront supprimées. Mais la table cible elle-même ne sera pas supprimée, ce qui signifie que la structure, les attributs et les index de la table resteront inchangés, mais les données de la table seront vidées.

La requête suivante supprimeraPersonnes (persons)Tous les enregistrements de la table :

DELETE FROM persons;

Maintenant, si vous essayez de supprimerPersonnes (persons)dans la tableSélection ou requête d'enregistrements,on obtiendra un ensemble de résultats vide.