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



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow