- Commande
INSERT INTO
- Syntaxe standard :
INSERT INTO nom_table VALUES (val1, ...,valn);
INSERT INTO nom_table(col1, ...,coln)
VALUES (val1, ..., vali, ..., valn);
INSERT INTO nom_table(col1, ...,coln) SELECT ... FROM ...;
vali
peut être au choix :
- une valeur de même type que la colonne
coli
ciblée
- la valeur
NULL
si la colonne n'est pas obligatoire (définie avec l'option NOT NULL
),
- la valeur
DEFAULT
Si la colonne est de type SERIAL
ou associée à une valeur par défaut (définie avec l'option DEFAULT
ou AUTO_INCREMENT
)
- Toutes les colonnes obligatoires de la table (déclarées
NOT NULL
) et sans valeur par défaut doivent être renseignées lors de l'insertion
- Syntaxe PostgreSQL et MySQL :
INSERT INTO nom_table(col1, ...,coln) VALUES
(val11, ..., val1n),
(val21, ..., val2n),
...
(valp1, ..., valpn);
- Syntaxe Oracle :
INSERT ALL
INTO nom_table(col1, ...,coln) VALUES (val11, ..., val1n)
INTO nom_table(col1, ...,coln) VALUES (val21, ..., val2n)
...
INTO nom_table(col1, ...,coln) VALUES (val21, ..., val2n)
SELECT * FROM dual;
- Exemples :
INSERT INTO professeur VALUES (1, 'Amanton', 'Laurent', NULL, NULL, 'MCF');
INSERT INTO professeur (prof_id, prof_nom, prof_prenom, prof_statut)
VALUES (2, 'Ponty', 'Jean-Luc', 'MCF');
INSERT INTO professeur (prof_id, prof_nom, prof_prenom, prof_statut)
VALUES (3, 'Jay', 'Véronique', 'MCF'),
(4, 'Balev', 'Stefan', 'MCF'),
(5, 'Arfi', 'Mustapha', 'MCF'),
(6, 'Fournier', 'Dominique', 'MCF') ;