Previous Up Next
Accueil

4.3  Modifier une base – Langage de manipulation de données (LMD)

4.3.1  Insertion de n-uplets : INSERT INTO

La commande INSERT permet d’insérer une ligne dans une table en spécifiant les valeurs à insérer. La syntaxe est la suivante :

INSERT INTO nom_table(nom_col_1, nom_col_2, ...)
VALUES (val_1, val_2, ...)

La liste des noms de colonne est optionnelle. Si elle est omise, la liste des colonnes sera par défaut la liste de l’ensemble des colonnes de la table dans l’ordre de la création de la table. Si une liste de colonnes est spécifiée, les colonnes ne figurant pas dans la liste auront la valeur NULL.

Il est possible d’insérer dans une table des lignes provenant d’une autre table. La syntaxe est la suivante :

INSERT INTO nom_table(nom_col1, nom_col2, ...)
SELECT ...

Le SELECT (cf. section 4.5 et 4.7) peut contenir n’importe quelle clause sauf un ORDER BY (cf. section 4.5.6).

4.3.2  Modification de n-uplets : UPDATE

La commande UPDATE permet de modifier les valeurs d’une ou plusieurs colonnes, dans une ou plusieurs lignes existantes d’une table. La syntaxe est la suivante :

UPDATE nom_table
SET nom_col_1 = {expression_1 | ( SELECT ...) }, 
    nom_col_2 = {expression_2 | ( SELECT ...) },
    ...
    nom_col_n = {expression_n | ( SELECT ...) }
WHERE predicat

Les valeurs des colonnes nom_col_1, nom_col_2, ..., nom_col_n sont modifiées dans toutes les lignes qui satisfont le prédicat predicat. En l’absence d’une clause WHERE, toutes les lignes sont mises à jour. Les expressions expression_1, expression_2, ..., expression_n peuvent faire référence aux anciennes valeurs de la ligne.

4.3.3  Suppression de n-uplets : DELETE

La commande DELETE permet de supprimer des lignes d’une table.

La syntaxe est la suivante :

DELETE FROM nom_table
WHERE predicat

Toutes les lignes pour lesquelles predicat est évalué à vrai sont supprimées. En l’absence de clause WHERE, toutes les lignes de la table sont supprimées.

Base de Données et langage SQL – Laurent Audibert

Previous Up Next