formations / mysql / mysql-requete-insert-into

Débutant
cgoupil1970 | 18-11-2023

MySql - Requête INSERT INTO

La requête INSERT INTO permet d'ajouter de nouvelles lignes dans une table existante, ou de créer une nouvelle table avec des données initiales. Nous explorerons les différentes façons de l'utiliser, en mettant l'accent sur la structure de base, les bonnes pratiques et les astuces pour éviter les erreurs courantes.

Ajouter un seul enregistrement

On peut ajouter une ligne de données dans une table en utilisant la commande SQL "INSERT INTO" et en spécifiant les colonnes de la table concernée et les valeurs associées au colonnes comme l'illustre le code suivant qui va rajouter un utilisateur dans la table dédiée de la base de données "base_demo".

USE base_demo;
INSERT INTO utilisateurs (id, nom, prenom, email, password) 
VALUES 
(null, "Doucet", "Philippe", "philippedoucet@dayrep.com", "password");

Dans la requête ci-dessus on a déclaré la totalité des colonnes de la table. Il est bien sur possible de ne déclarer qu'une partie des colonnes en s'assurant de ne pas déclarer des colonnes qui sont "nullable".

USE base_demo;
INSERT INTO utilisateurs (email, password) VALUES ("louisdavignon@armyspy.com", "password");

Ajouter plusieurs enregistrements

Il est également possible d'ajouter plusieurs enregistrements simultanéments comme illustré ci-après. Bien sur, dans ce cas comme dans la cas d'un ajout d'un seul enregistrement nous ne sommes pas obligés de déclarer toutes les colonnes de la structure de table, mais seulement celles non "nullable".

USE base_demo;
INSERT INTO utilisateurs (nom, prenom, email, password)
VALUES
('Michaud', 'Karlotta', 'karlottamichaud@armyspy.com', 'password'),
('Beaupré', 'Louis', 'louisbeaupre@teleworm.us', 'password'),
(null, null, 'oliverpomerleau@rhyta.com', 'password');

Dans l'exemple ci-dessus, on reprend globalement le requête d'enregistrement d'une seule entrée, à la différence prêt qu'on spécifie des "jeux" de VALUES entre parenthèses et séparés par des virgules.


Utiliser des sous requêtes

Même si l'exmple que nous allons prendre ici ne fait pas vraiment sens dans la mesure ou nous allons travailler avec une seule table, l'exemple a vocation à montrer l'insertion de données dans une table à l'aide des données récupérées dans une autre table à l'aide d'une sous requête.

USE base_demo;
INSERT INTO utilisateurs (nom, prenom, email, password)
SELECT nom, prenom, email, password FROM utilisateurs WHERE id = 1;

Après l'exécution de cette requête et de sa sous requête et dans la mesure ou on a travaillé sur la même table quand on parcourt les données de la table dans phpMyAdmin, on peut noter que nous avons finalement une dernière ligne de données qui contient les mêmes valeurs que celle de la ligne ayant comme id la valeur 1.

Nous venons d'illustrer le C du CRUD, pourquoi ne pas continuer sur notre lancée et voir les requêtes pour lire des données (R du CRUD) ?

Tutos du jour

MySql - Les requêtes de tables

Les requêtes de table sont un élément fondamental de la programmation SQL.

Voir le tuto
Environnement de travail local

Environnement de travail local

Pour faire du Php en local, il est nécessaire d'installer préalablement un environnement d'émulation de serveurs Apache et Mysql

Voir le tuto
Votre inscription à la newsletter a bien été prise en compte. Une erreur est survenue lors de l'inscription à la newsletter. Votre désinscription à la newsletter a bien été prise en compte. Une erreur est survenue lors de la désinscription à la newsletter.

Inscription à la newsletter

Désinscription de la newsletter