Pour insérer les données au sein de votre table SQL, il est possible d’utiliser la requête INSERT INTO. Mais alors comment ça fonctionne ? C’est ce que nous allons voir dans cet article.
Qu'est-ce que la requête INSERT INTO ?
INSERT INTO est l’une des commandes les plus couramment utilisées dans le langage SQL. Et pour cause, cette requête vous permet d’intégrer de nouveaux enregistrements au sein de votre base de données. Il peut s’agir d’une ou plusieurs lignes en fonction de vos besoins.
Bon à savoir : INSERT INTO est la commande à utiliser pour tous les systèmes de gestion de bases de données. Et ce, que vous utilisiez Oracle, Mysql, Transact-SQL, etc.
Comment utiliser la requête SQL INSERT INTO ?
INSERT INTO peut être utilisé pour intégrer une ou plusieurs lignes au sein de votre tableau. Mais il est également possible d’utiliser cette commande dans des requêtes plus complexes. Dans cet article, nous vous présentons différents cas d’application.
Insérer une ligne
Pour cela, deux possibilités s’offrent à vous.
1º Il est possible d’insérer une ligne en spécifiant toutes les colonnes. Dans ce cadre, la syntaxe est la suivante :
INSERT INTO table VALUES (‘valeur 1’, ‘valeur 2’, …)
Si vous choisissez cette option, veillez à bien respecter l’ordre des colonnes. Et pour cause, le système de gestion de base de données interprète les requêtes SQL selon les informations que vous lui donnez. Donc si vous n’avez pas besoin d’enregistrer de nouvelles valeurs pour certaines colonnes, il faudra préciser la mention « NULL » (au lieu de valeur 1,2…).
L’avantage, c’est qu’il n’y a pas besoin d’écrire le nom de chaque limite. Ce qui limite fortement les fautes de frappe.
2º Vous pouvez préciser uniquement les colonnes pour lesquelles vous souhaitez intégrer de nouvelles données. Pour cela, vous devez utiliser la syntaxe suivante :
INSERT INTO table (nom-de-colonne_1, nom-de-colonne_2, …)
VALUES (‘valeur 1’, ‘valeur 2’, …)
Ici, l’ordre des colonnes n’est plus aussi important. Attention toutefois, à l’ordre des valeurs. Celles-ci doivent correspondre aux colonnes auxquelles elles sont assignées.
Insérer plusieurs lignes
L’insertion de plusieurs lignes est souvent nécessaire pour enrichir votre tableau.
Pour vous aider à mieux comprendre, nous vous proposons l’exemple concret d’un fichier Client auquel vous souhaitez ajouter les coordonnées de plusieurs clients.
Voici la requête :
INSERT INTO client (prénom, nom, ville, email)
VALUES
(‘Justine’, ‘Martin’, ‘Paris’, ‘justinemartin@gmail.com’ ),
(‘Thomas’, ‘Durant’, ‘Bordeaux’, ‘tomtom@sfr.fr’),
(‘Marie’, ‘Leroy’, ‘Angers’,’marieleroy@laposte.net’),
(‘Vanessa’, ‘Savary’, ‘Marseille’, ‘vanessa13@gmail.com’)
Grâce à la commande INSERT INTO, vous pourrez intégrer les données suivantes au sein de votre tableau.
Prénom | Nom | Ville | |
---|---|---|---|
Justin | Martin | Paris | justinemartin@gmail.com |
Thomas | Durant | Bordeaux | tomtom@sfr.fr |
Marie | Leroy | Angers | marieleroy@laposte.net |
Vanessa | Savary | Marseille | vanessa13@gmail.com |
Copier des données d’un autre tableau
En combinant plusieurs requêtes, vous pouvez également copier les données d’un tableau A vers un tableau.
Pour cela, il vous faudra utiliser la syntaxe suivante :
INSERT INTO ma_table_1 SELECT colonne_1,colonne_2,colonne_2 FROM ma_table_2 WHERE conditions
Prenons un exemple :
Vous avez deux tableaux. Le premier correspond à un fichier « client » :
Prénom | Nom | Ville | |
---|---|---|---|
Justin | Martin | Paris | justinemartin@gmail.com |
Thomas | Durant | Bordeaux | tomtom@sfr.fr |
Marie | Leroy | Angers | marieleroy@laposte.net |
Vanessa | Savary | Marseille | vanessa13@gmail.com |
Et le second, à un fichier de « Prospection » :
ID | Prénom | Nom | Ville | |
---|---|---|---|---|
1 | Jean | Bernad | Valenciennes | jbernard@gmail.com |
2 | Thomas | Castaing | Nantes | thomas.castaing@orange.fr |
3 | Antoine | Dupond | Paris | Antwan@laposte.net |
4 | Virginie | Pavard | Lyon | V.pavard@gmail.com |
Ayant converti un prospect (Jean Bernard), vous souhaitez le transférer dans votre fichier client.
Voici la requête :
INSERT INTO Client SELECT (prénom, nom, ville, email) FROM prospection WHERE id = 1
Et le résultat :
Prénom | Nom | Ville | |
---|---|---|---|
Justin | Martin | Paris | justinemartin@gmail.com |
Thomas | Durant | Bordeaux | tomtom@sfr.fr |
Marie | Leroy | Angers | marieleroy@laposte.net |
Vanessa | Savary | Marseille | vanessa13@gmail.com |
Jean | Bernard | Valenciennes | jbernard@gmail.com |
Développez vos compétences en langage SQL avec DataScientest
La manipulation des données relationnelles ne passe pas seulement par l’ajout de nouvelles informations. Il est possible d’en supprimer, d’en modifier, d’en actualiser, etc. Pour toutes ces actions, il existe une multitude de requêtes SQL. Si vous souhaitez toutes les connaître, une formation data est plus que nécessaire. C’est justement pour cette raison que nous avons développé DataScientest. Nous vous proposons plusieurs formations orientées métiers afin de vous aider à développer vos compétences.