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 :

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

1
INSERT INTO coordonnees(adresse, salle)
2
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”.

1
INSERT INTO seance(salle, idfilm)
2
  SELECT 'Le Champo', f.idfilm
3
  FROM film f
4
  WHERE directeur = 'Hitchcock'