Dans cette fiche...

<Retour SQL>

Début de page L'instruction INSERT INTO

En SQL, l'instruction INSERT INTO ajoute des données dans une table. Les données peuvent être des valeurs nouvelles, ou des valeurs provenant d'une autre table.
Associée à la clause WHERE, UPDATE ajoute uniquement certains enregistrements, définis par critères.
Le INSERT INTO est identique à une Requête Ajout classique.

icoAttentionSmall.gif (1931 octets)Si vous souhaitez tester les exemples ci-dessous, faites peut-être une copie de votre base au préalable, dans la mesure où les données vont être modifiées de façon irréversible.

Consultez la fiche Taper et tester du code SQL avant de lire ce qui suit.

Début de page Syntaxe

Si votre base de données comporte 2 tables nommées tblClients et tblClients2 :

INSERT INTO tblClients ( [Numéro Client], [Nom Client], [Prénom Client], Remise )
VALUES ("160017", "Inisan", "Hervé", 1 );
INSERT INTO tblClients2 ( NumCli, NomCli, PreCli )
SELECT [Numéro Client], [Nom Client], [Prénom Client]
FROM tblClients;

Début de page Explications

INSERT INTO tblClients ( [Numéro Client], [Nom Client], [Prénom Client], Remise )
VALUES ("160017", "Inisan", "Hervé", 1 );
Ceci se lit : AJOUTER à la table tblClients (pour les champs Numéro Client, Nom Client, Prénom Client et Remise) les VALEURS (160017, Inisan, Hervé et 1).
Sous-entendu, créer un client Inisan Hervé, portant le numéro 160017 et ayant une remise de 1 (dans un champ Pourcentage, c'est un taux intéressant !).

Notez les parenthèses autour de la liste des champs et de la liste des valeurs.
Notez également que, comme d'habitude, les valeurs de type Texte comportent des guillemets, ce qui n'est pas le cas des valeurs numériques.

 
INSERT INTO tblClients2 ( NumCli, NomCli, PreCli )
SELECT [Numéro Client], [Nom Client], [Prénom Client]
FROM tblClients;
Un exemple un peu plus complexe : AJOUTER à la table tblClients2 (dont les champs s'appellent NumCli, NomCli et PreCli) les champs Numéro Client, Nom Client et Prénom Client de la table tblClients.
Cette fois, ce ne sont pas des valeurs fixes qui sont ajoutées à tblClients2, mais tous les clients de la table tblClients.