Recherche…
Syntaxe
- INSERT INTO nom_table (column1, column2, column3, ...) VALUES (valeur1, valeur2, valeur3, ...);
- INSERT INTO nom_table (column1, column2 ...) SELECT value1, value2 ... from other_table
Insérer une nouvelle ligne
INSERT INTO Customers
VALUES ('Zack', 'Smith', '[email protected]', '7049989942', 'EMAIL');
Cette instruction va insérer une nouvelle ligne dans la table Customers
. Notez qu'une valeur n'a pas été spécifiée pour la colonne Id
, car elle sera ajoutée automatiquement. Cependant, toutes les autres valeurs de colonne doivent être spécifiées.
Insérer uniquement des colonnes spécifiées
INSERT INTO Customers (FName, LName, Email, PreferredContact)
VALUES ('Zack', 'Smith', '[email protected]', 'EMAIL');
Cette instruction va insérer une nouvelle ligne dans la table Customers
. Les données seront uniquement insérées dans les colonnes spécifiées - notez qu'aucune valeur n'a été fournie pour la colonne PhoneNumber
. Notez toutefois que toutes les colonnes marquées comme not null
doivent être incluses.
INSERER des données d'une autre table en utilisant SELECT
INSERT INTO Customers (FName, LName, PhoneNumber)
SELECT FName, LName, PhoneNumber FROM Employees
Cet exemple insérera tous les employés dans la table Customers . Comme les deux tables ont des champs différents et que vous ne voulez pas déplacer tous les champs, vous devez définir les champs à insérer et les champs à sélectionner. Les noms de champs en corrélation n'ont pas besoin d'être appelés de la même manière, mais doivent être du même type. Cet exemple suppose que le champ ID a un ensemble de spécifications d'identité et s'incrémentera automatiquement.
Si vous avez deux tables qui ont exactement les mêmes noms de champs et que vous voulez simplement déplacer tous les enregistrements, vous pouvez utiliser:
INSERT INTO Table1
SELECT * FROM Table2
Insérer plusieurs lignes à la fois
Plusieurs lignes peuvent être insérées avec une seule commande d'insertion:
INSERT INTO tbl_name (field1, field2, field3)
VALUES (1,2,3), (4,5,6), (7,8,9);
Pour l'insertion simultanée de grandes quantités de données (insertion groupée), des fonctionnalités et des recommandations spécifiques au SGBD existent.
MySQL - LOAD DATA INFILE
MSSQL - INSERT EN VRAC