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