il existe deux manières de base pour INSÉRER des données dans une table : l’une consiste à insérer des données une ligne à la fois, et l’autre plusieurs à la fois.
INSERT / VALUES
La syntaxe pour l’insertion de données dans une table une ligne à la fois est comme suit :
INSERT INTO "nom de table" ("colonne 1", "colonne 2", ...)
VALUES ("valeur 1", "valeur 2", ...);
Si nous allons insérer le même nombre de valeurs que le nombre de colonne de la table, nous n’avons pas besoin de spécifier le nom des colonnes, exemple, nous avons une table avec seulement 2 colonnes :
INSERT INTO "ma_table"
VALUES ('val_1', 'val_2');
Si notre table contient une clé auto incrément on n’indique pas le nom de la clé, mais il faut indiquer implicitement le nom des colonnes.
On peut aussi utiliser des mots clés pour l’insertion de données, comme DEFAULT pour insérer une valeur par défaut ou NULL pour insérer une valeur nulle.
INSERT / SELECT
La commande INSERT INTO permet aussi d’ajouter plusieurs lignes à une table. Nous devons maintenant utiliser une instruction SELECT pour spécifier les données à ajouter à la table. Nous sommes donc en train d’insérer des données provenant d’une autre table. La syntaxe est comme suit :
INSERT INTO "table1" ("column1", "column2", ...)
SELECT "column3", "column4", ...
FROM "table2";
Notez que c’est la méthode la plus simple. L’instruction entière peut facilement contenir les clauses WHERE, GROUP BY, et HAVING, ainsi que les jointures et alias de table.
Insert Multiples
INSERT INTO table1(Col1, Col2)
SELECT 'First', 1
UNION ALL
SELECT 'second', 2