Insertion de données
Syntaxe :
Une insertion de n-uplets a la syntaxe suivante :
INSERT INTO <table> [(<liste d'attributs>)] VALUES (<liste de valeurs>) | <requete>.
Remarque :
On peut préciser la liste des attributs à renseigner : les autres valeurs sont alors fixées soit à la valeur par défaut de l'attribut, soit à NULL. La clause VALUES ajoute un n-uplet à la fois alors que l'utilisation d'une requête à la place de VALUES permet d'insérer plusieurs n-uplets en une seule opération (Bulk insert).
Exemple :
La requête suivante permet l'ajout du n-uplet <'Le Champo', '51 rue des Ecoles', '0143545160'> dans la relation Coordonnées :
INSERT INTO coordonnees VALUES('Le Champo', '51 rue des Ecoles', '0143545160');
Exemple :
La deuxième requête insère un n-uplet en ne précisant que les attributs salle et adresse. Ce n-uplet n'aura pas de valeur pour l'attribut telephone (NULL). Notons que l'ordre des attributs n'est pas forcément celui de la définition dans la table.
INSERT INTO coordonnees(adresse, salle)
VALUES('31 boulevard des Italiens', 'Gaumont Opéra');
Exemple :
Enfin, l'insertion peut utiliser des requêtes (nous les présenterons dans une partie ultérieure). Par exemple, la requête suivante insère dans la table Séance tous les films de Hitchcock au cinéma “Le Champo”.
INSERT INTO seance(salle, idfilm)
SELECT 'Le Champo', f.idfilm
FROM film f
WHERE directeur = 'Hitchcock'