SQL INSERT – Insérer une ou plusieurs lignes dans une table

Résumé: dans ce tutoriel, vous apprendrez à utiliser linstruction SQL INSERT pour insérer des données dans les tables.

Linstruction INSERT insère une ou plusieurs lignes dans une table. Linstruction INSERT est parfois appelée instruction INSERT INTO.

Instruction SQL INSERT – insérer une ligne dans un table

Ce qui suit illustre linstruction INSERT qui insère une seule ligne dans une table existante.

1
2

INSERT INTO table (colonne1, colonne2, …)
VALEURS (valeur1, valeur2, …);

Pour insérer une ligne dans un tableau, vous devez spécifiez trois choses:

  • Tout dabord, la table, dans laquelle vous souhaitez insérer une nouvelle ligne, dans la clause INSERT INTO.
  • Deuxièmement, une liste de colonnes séparées par des virgules dans le tableau entourées de parenthèses.
  • Troisièmement, une liste de valeurs séparées par des virgules entourées de parenthèses dans le VALUES clause.

La liste des colonnes doit avoir le même nombre déléments que la liste de valeurs, sinon le moteur de base de données émettra une erreur.

Jetons un coup dœil à la table shippers suivante:


INSERT insère une nouvelle ligne dans la table shippers:

1
2

INSÉRER DANS les expéditeurs (nom de lentreprise, téléphone)
VALEURS (« Alliance Shippers », « 1-800-222-0451 »);

Deux constantes, "Alliance Shippers" et "1-800-222-0451" sont spécifiés dans la clause VALUES. Le moteur de base de données les a insérés respectivement dans les colonnes companyname et phone.

Après avoir exécuté linstruction, le serveur de base de données renvoie un message pour indiquer le nombre de lignes affectées. Dans ce cas, nous recevons un message « 1 ligne affectée » nous informant quune nouvelle ligne a été insérée avec succès.

Notez que nous navons pas spécifié le shipperID colonne dans la liste des colonnes car la colonne shipperID est une colonne AUTO INCREMENT, le moteur de base de données génère automatiquement la séquence suivante à chaque nouvelle ligne est inséré dans la table.

Pour vous aider à écrire moins de code, SQL fournit une forme plus courte de linstruction INSERT comme suit:

1
2

INSERT INTO table
VALUES (valeur1, valeur2, …)

Dans ce formulaire, la liste de valeurs doit avoir le même ordre que la liste des colonnes du tableau. Si vous utilisez cette forme du , vous devez fournir des valeurs pour toutes les colonnes à lexception de la colonne AUTO INCREMENT.

Il est recommandé dutiliser les noms de colonne dans le INSERT pour faciliter la maintenance du code.

Linstruction INSERT suivante a le même effet que celle ci-dessus:

1
2

INSERT INTO shippers
VALUES ( » Alliance Shippers « , » 1-800-222-0451 « );

Instruction SQL INSERT – insérer plusieurs lignes dans une table

Linstruction INSERT vous permet également dinsérer plusieurs lignes dans une table en utilisant une seule instruction comme suit:

1
2
3
4

INSERT INTO nom_table (colonne1, colonne2…)
VALEURS (valeur1, valeur2,…),
(valeur1, valeur2,…) ,

Dans ce formulaire, vous devez fournir plusieurs listes de valeurs, chaque liste est séparée par une virgule.

Linstruction INSERT suivante insère deux lignes dans la table shippers:

1
2
3

INSERT INTO shippers (companyName, phone)
VALUES (« UPS », « 1-800-782-7892 »),
(« DHL », « 1-800-225-5345 »)

SQL Instruction INSERT – copier les données de la table

Au lieu de spécifier une liste de valeurs, vous pouvez utiliser une instruction SELECT pour sélectionner des valeurs dans une autre table et les fournir à INSERT déclaration. Cela vous permet de copier des données dune table vers une autre table.

Linstruction suivante montre comment copier des données de another_table vers table:

1
2
3
4
5
6
7

INSERT INTO table (colonne1, colonne2, …)
SELECT
colonne1, colonne2, …
FROM
another_table
WHERE
condition

La liste des colonnes de la clause SELECT doit correspondre à la liste des colonnes de la INSERT INTO clause. Si vous ne souhaitez copier que des données partielles, vous devez spécifier une condition dans la clause WHERE.

Supposons que vous ayez une table temporaire nommée shippers_tmp qui a le même structure comme la table shippers. Pour copier les données de la table shippers vers la table shippers_tmp, utilisez linstruction suivante:

1
2
3
4
5

INSERT INTO shippers_tmp (shipperid, name, phone)
SELECT
shipperid, companyName, phone
FROM
expéditeurs

Dans ce didacticiel, vous avez appris à utiliser linstruction INSERT pour insérer une ou plusieurs lignes dans une table. De plus, vous avez également appris à copier les données dune table vers une autre table à laide de linstruction INSERT SELECT INTO.

  • Ce didacticiel était-il utile?
  • OuiNon

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *