Insertion de données par entrée explicite des valeurs

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 depuis 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>)

Exemple

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

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).

AttentionChaînes de caractères

  • Les chaînes de caractère doivent être protégées par des apostrophes : '

  • Pour insérer une apostrophe, doubler le caractère : ''

Exemple

1
INSERT INTO livre (titre) VALUES ('L''Attrape-cœurs')

AttentionDates

La saisie des dates peut se faire de plusieurs façons dépendante du SGBD, la méthode la plus systématique consiste à utiliser la fonction TO_DATE(chaîne,format) où la chaîne de caractère respecte le format.

Par exemple TO_DATE('20170330','YYYYMMDD') ou TO_DATE('30-03-2017','DD-MM-YYYY') désignent tous les deux le 30 mars 2017.

Exemple

1
INSERT INTO livre (pubdate) VALUES (TO_DATE('20170330','YYYYMMDD'))

Complément