Suppression de données

Objectif

  • Savoir supprimer des données d'une table en SQL.

Mise en situation

Même si cela peut paraître étrange, il est pourtant utile de pouvoir supprimer certaines données d'une table.

Imaginez par exemple une base de données qui gère les abonnés à un magazine : lorsqu'une personne se désabonne, on va tout simplement la supprimer de la table abonnements.

Mais un enregistrement dans une table n'est identifié que par son contenu : on ne pourra pas exprimer quelque chose comme « supprimer le client à la ligne 5 ». Il faut alors trouver un critère de suppression.

SQL fournit la syntaxe pour supprimer les données qui répondent à une ou plusieurs conditions, et c'est ce que vous allez découvrir dans ce module.

Le langage SQL fournit une instruction pour supprimer des tuples existants dans une relation : DELETE.

SyntaxeSuppression de données

1
DELETE FROM <Nom de la relation>
2
WHERE <Condition pour filtrer les tuples à supprimer>;

ExempleSuppression sélective

1
CREATE TABLE fausses_factures (
2
auteur VARCHAR(255) PRIMARY KEY,
3
valeur INTEGER
4
);
5
6
INSERT INTO fausses_factures VALUES ('moi', 100);
7
INSERT INTO fausses_factures VALUES ('toi', 200);
8
INSERT INTO fausses_factures VALUES ('lui', 500);
9
10
DELETE FROM fausses_factures
11
WHERE auteur='moi';

ExempleSuppression de tous les tuples d'une relation

1
DELETE FROM fausses_factures;