La commande INSERT INTO permet d'ajouter des données dans une table.
INSERT INTO Nom_Table (Champ_1, Champ_2, ..., Champ_N) VALUES (Valeur_1, Valeur_2, ..., Valeur_N)
L'ajout de données dans une table demande évidemment, la parfaite connaissance de la structure de la table, puisqu'il est nécessaire de fournir le nom des champs dans le bon ordre et des informations correspondant à leur type de données respectifs.
Les valeurs de colonnes doivent être encadrées par des guillemets simples (') s'il s'agît de chaîne de caractères, les nombres ne nécessitant pas de guillemets.
VALUES ('Chaîne de caractères', 100)
Il est possible de ne pas énumérer les noms de colonnes si l'ajout de données concerne un enregistrement complet de la table.
INSERT INTO Nom_Table VALUES (Valeur_1, Valeur_2, ..., Valeur_N)
En général, la citation des noms de colonnes est pertinente pour un ajout de données limité à certain champs de la table.
INSERT INTO Nom_Table (Champ_1, Champ_2) VALUES (Valeur_1, Valeur_2)
Il est également possible d'insérer des données provenant d'une autre table par l'intermédiaire d'une commande select. Une clause WHERE peut être ajoutée avec des conditions pouvant comporter des sous-requêtes.
INSERT INTO Nom_Table (champ, ..., champN) SELECT nom_champ, ..., Nom_champN FROM nom_table WHERE Condition
Dans ce cas, chacun des champs de la table cible et de ceux de la table source doivent être évidemment de même type et de même domaine de valeurs afin d'éviter la génération d'erreurs systèmes et de conserver la cohérence de la table cible.
L'insertion de valeur nulle peut se faire par l'intermédiaire du mot-clé NULL ou d'une chaîne vide.
ExempleINSERT INTO Nom_Table (Champ_1, Champ_2) VALUES (Valeur_1, NULL) INSERT INTO Nom_Table (Champ_1, Champ_2) VALUES (Valeur_1, '')
INSERT INTO Fiche_Personne (ID, Nom, Prenom, CP) VALUES (75036, ANATOLIS, Ivan, 92100) Crée une ligne de données dans la table |
Fiche_Personne | |||||||
---|---|---|---|---|---|---|---|
id | Nom | Prenom | CP | ||||
187 | JANVIER | Denis | 77870 | ||||
1097 | NAPOLI | Victor | 75020 | ||||
10852 | ARCHI | Bertrand | 93330 | ||||
20140 | MULLER | Arthur | 75020 | ||||
1654327 | NAPOLI | Julien | 75020 | ||||
7503609 | ANATOLIS | Ivan | 92100 |