Insertion de données

Le langage SQL fournit des instructions pour ajouter des nouveaux tuples à une relation. Il offre ainsi une interface standard pour ajouter des information dans une base de données.

Il existe deux moyens d'ajouter des données, soit par fourniture directe des valeurs des propriétés du tuple à ajouter, soit par sélection des tuples à ajouter dans une autre relation.

SyntaxeInsertion directe de valeurs

1
INSERT INTO <Nom de la relation> (<Liste ordonnée des propriétés à valoriser>)
2
VALUES (<Liste ordonnée des valeurs à affecter aux propriétés spécifiées ci-dessus>)

ExempleInsertion directe de valeurs

1
INSERT INTO Virement (Date, Montant, Objet)
2
VALUES (14-07-1975, 1000, 'Prime de naissance');

SyntaxeInsertion de valeurs par l'intermédiaire d'une sélection

1
INSERT INTO <Nom de la relation> (<Liste ordonnée des propriétés à valoriser>)
2
SELECT ...

L'instruction SELECT projetant un nombre de propriétés identiques aux propriétés à valoriser.

ExempleInsertion de valeurs par l'intermédiaire d'une sélection

1
INSERT INTO Credit (Date, Montant, Objet)
2
SELECT Date, Montant, 'Annulation de débit'
3
FROM Debit
4
WHERE Debit.Date = 25-12-2001;

Dans cet exemple tous les débits effectués le 25 décembre 2001, sont re-crédités pour le même montant (et à la même date), avec la mention annulation dans l'objet du crédit. Ceci pourrait typiquement réalisé en cas de débits erronés ce jour là.

Remarque

  • Les propriétés non valorisées sont affectées à la valeur NULL.

  • Il est possible de ne pas spécifier les propriétés à valoriser, dans ce cas, toutes les propriétés de la relation seront considérées, dans leur ordre de définition dans la relation (à n'utiliser que dans les cas les plus simples).