INSERT INTO, instruction

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Ajoute un ou plusieurs enregistrements à une table. C'est ce qu'on appelle une requête Ajout.

Syntaxe

Requête Ajout avec plusieurs enregistrements :

INSERT INTO cible [(champ1[, champ2[, ...]])] [IN basededonnéesexterne]
SELECT [source.]champ1[, champ2[, ...]
FROM expressiontable

Requête Ajout avec un seul enregistrement :

INSERT INTO cible [(champ1[, champ2[, ...]])]
VALUES (valeur1[, valeur2[, ...])

L'instruction INSERT INTO se compose des éléments suivants :

Composant

Description

cible

Nom de la table ou de la requête à laquelle vous souhaitez ajouter des enregistrements.

champ1, champ2

Nom des champs dans lesquels ajouter les données, s'ils sont placés à la suite de l'argument cible, ou noms des champs à partir desquels extraire les données, s'ils sont placés à la suite de l'argument source.

basededonnéesexterne

Chemin d'accès d'une base de données externe. Pour obtenir une description du chemin, voir la clause IN.

source

Nom de la table ou de la requête à partir de laquelle copier les enregistrements.

expressiontable

Nom de la ou des tables à partir desquelles les enregistrements sont insérés. Cet argument peut être un simple nom de table, une requête enregistrée ou le résultat d'une opération INNER JOIN, LEFT JOIN ou RIGHT JOIN.

valeur1, valeur2

Valeurs à insérer dans des champs spécifiques du nouvel enregistrement. Chaque valeur s'insère dans le champ correspondant à la position de la valeur dans la liste : valeur1 est insérée dans le champ1 du nouvel enregistrement, valeur2 dans le champ2, etc. Vous devez séparer les valeurs par une virgule et mettre les champs de texte entre guillemets simples (' ').


Notes

Vous pouvez utiliser l’instruction INSERT INTO pour ajouter un seul enregistrement à une table à l’aide de la syntaxe de requête Ajout d’enregistrement unique, comme illustré ci-dessus. Dans ce cas, votre code indique le nom et la valeur pour chaque champ de l’enregistrement. Vous devez spécifier chacun des champs de l’enregistrement pour être assignée à une valeur et une valeur de ce champ. Lorsque vous ne spécifiez pas chaque champ, la valeur par défaut ou Null est insérée pour les colonnes manquantes. Les enregistrements sont ajoutés à la fin de la table.

Vous pouvez aussi utiliser INSERT INTO pour ajouter un ensemble d'enregistrements d'une autre table ou requête à l'aide de la clause SELECT ... FROM comme décrit plus haut dans la syntaxe de requête Ajout avec plusieurs enregistrements. Dans ce cas, la clause SELECT mentionne les champs à ajouter à la table cible spécifiée.

La table source ou cible peut spécifier une requête ou une table. Dans le cas d'une requête, le moteur de base de données Microsoft Access ajoute les enregistrements à toutes les tables spécifiées par la requête, sans exception.

L'instruction INSERT INTO est facultative mais précède l'instruction SELECT si elle est incluse.

Si votre table de destination contient une clé primaire, veillez à ajouter des valeurs uniques et différentes de Null dans le ou les champs de clé primaire. Dans le cas contraire, le moteur de base de données Microsoft Access n'ajoutera pas les enregistrements.

Si vous ajoutez des enregistrements à une table avec un champ NuméroAuto et que vous voulez renuméroter les enregistrements ajoutés, n’incluez pas le champ NuméroAuto dans votre requête. D’inclure le champ NuméroAuto dans la requête si vous souhaitez conserver les valeurs d’origine à partir du champ.

Utilisez la clause IN pour ajouter des enregistrements à une table située dans une autre base de données.

Pour créer une nouvelle table, utilisez l'instruction SELECT... INTO au lieu de créer une requête Création de table.

Pour savoir quels enregistrements seront ajoutés avant d'exécuter la requête Ajout, lancez d'abord une requête Sélection avec les mêmes critères de sélection, puis examinez les résultats obtenus.

Une requête Ajout copie des enregistrements à partir d'une ou de plusieurs tables vers une autre. La requête Ajout n'a aucun effet sur les tables contenant les enregistrements que vous ajoutez.

Au lieu d'ajouter des enregistrements existant à partir d'une autre table, vous pouvez spécifier la valeur de chaque champ dans un nouvel et unique enregistrement en utilisant la clause VALUES. Si vous omettez la liste des champs, la clause VALUES doit comprendre une valeur pour chaque champ de la table, sans quoi l'opération INSERT échouera. Utilisez une instruction INSERT INTO supplémentaire, associée à une clause VALUES, pour chaque nouvel enregistrement que vous souhaitez créer.



Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×