Dans cette deuxième partie, vous allez découvrir comment manipuler vos données. À chaque chapitre, vous apprendrez à créer, lire, mettre à jour et supprimer des données. C’est ce qu’on appelle les opérations CRUD.

Votre base de données est bien vide pour l’instant... 😢 Ne désespérez pas, nous allons justement apprendre à la remplir en y ajoutant un ou plusieurs objets.
Commencez d'abord par télécharger la base de donnée Foodly de cette partie 2. (Reportez-vous à cette section du cours pour retrouver comment mettre à jour votre BDD depuis GitHub).
C’est parti !
Insérez des objets uniques pour alimenter votre BDD
Première étape : vous allez ajouter un utilisateur à votre BDD, car une application sans utilisateurs n’est pas une BDD.
Imaginez qu’un nouvel utilisateur s’inscrive sur Foodly. Comment l’application ferait-elle pour inscrire cet utilisateur dans la base MySQL ?

Souvenez-vous, votre table “utilisateur” dispose de 4 champs :
Nom du champ | Descriptif du champ | Exemple de valeur |
id | identifiant unique de l'utilisateur dans la BDD | 1 |
nom | nom de famille de l'utilisateur | Durantay |
prenom | prénom de l'utilisateur | Quentin |
email de l'utilisateur | quentin@gmail.com |
Voici, par exemple, la commande pour m’ajouter en tant qu’utilisateur dans la base :
INSERT INTO `utilisateur` (`nom`, `prenom`, `email`)
VALUES
('Durantay', 'Quentin', 'quentin@gmail.com');
Voyons ensemble ce qui vient de se passer :
On indique en SQL qu’on souhaite ajouter un objet avec
INSERT INTO
.On écrit ensuite le nom de la table dans laquelle on souhaite ajouter l’objet, ici “utilisateur”.
On écrit ensuite entre parenthèses la liste des colonnes que l’on va ajouter, ainsi que leur ordre.
On ajoute le mot clé SQL
VALUES
qui indique qu’on va ensuite déclarer les valeurs que l’on souhaite ajouter.On écrit la liste des valeurs de l’objet qu’on souhaite ajouter, dans le même ordre que les colonnes citées en 3.
Pour bien comprendre le fonctionnement de cette commande, je vous invite à “jouer” avec en essayant d’insérer d’autres utilisateurs. Par exemple vous-même. 😉
Vous pouvez aussi changer l’ordre des colonnes et des valeurs pour voir si ça fonctionne toujours !
Insérez plusieurs objets à la fois
Vous avez désormais une application avec un utilisateur, mais il va vous en falloir plusieurs ! Je ne sais pas vous, mais je trouve ça fastidieux d’avoir à écrire une commande pour chaque utilisateur que j’ajoute.
SQL a pensé à nous ! Il est possible d’ajouter plusieurs objets en une seule commande en séparant leurs valeurs par des virgules, comme dans la commande ci-dessous grâce à laquelle j’ajoute 4 utilisateurs à la BDD :
INSERT INTO `utilisateur` (`nom`, `prenom`, `email`)
VALUES
('Doe', 'John', 'john@yahoo.fr'),
('Smith', 'Jane', 'jane@hotmail.com'),
('Dupont', 'Sebastien', 'sebastien@orange.fr'),
('Martin', 'Emilie', 'emilie@gmail.com');
Assez simple, non ?
Dans les faits, vous allez user et abuser de cette commande pour ajouter différents objets dans votre base. Réutilisons-la justement pour ajouter des aliments.
Souvenez-vous, la table “aliment” est constituée des colonnes suivantes :
Nom du champ | Descriptif du champ | Exemple de valeur |
id | identifiant unique de l'aliment dans la BDD | 1 |
nom | nom de l'aliment | poire |
marque | marque de l'aliment | Monoprix |
calories | nombre de calories contenues dans l'aliment (en kcal) | 72 |
sucre | la concentration en sucre de l’aliment (en grammes) | 19,1 |
graisses | la concentration en graisses de l’aliment (en grammes) | 0,2 |
proteines | la concentration en protéines de l’aliment (en grammes) | 0,4 |
Voici la commande pour ajouter les aliments poire, pomme, œuf et lait d’amande à notre BDD :
INSERT INTO `aliment` (`nom`, `marque`, `sucre`, `calories`, `graisses`, `proteines`, `bio`)
VALUES
('poire', 'monoprix', 27.5, 134, 0.2, 1.1),
('pomme', 'monoprix', 19.1, 72, 0.2, 0.4),
('oeuf', 'carrefour', 0.6, 82, 5.8, 6.9),
('lait d\'amande', 'bjorg', 4.5, 59, 3.9, 1.1, TRUE);

Les explications sont simples :
Pour signaler à SQL des noms de tables ou colonnes, utilisez des backticks.
Pour les valeurs de type texte (souvenez-vous, les types TEXT ou VARCHAR), vous devez les écrire entre guillemets. Si un guillemet est présent dans le texte (comme dans l’exemple plus haut avec 'lait d\'amande'), vous devez mettre un backslash (\) avant ce dernier pour dire à SQL qu’il fait partie intégrante de la valeur.
Pour le reste (les valeurs de type BOOLEAN, INTEGER ou FLOAT), pas besoin de guillemets !
À vous de jouer !
Essayez maintenant de créer un nouvel aliment. Partons sur une boîte de conserve de haricots verts. En voici les données nutritionnelles :
nom | marque | calories | sucre | graisses | proteines | bio |
haricots verts | Monoprix | 25 | 3 | 0 | 1,7 | FALSE |
À partir de ce tableau, j’aimerais que vous ajoutiez cet aliment dans la BDD de Foodly. Regardez bien comment nous nous y sommes pris jusqu’ici. Je suis sûr que vous pouvez le faire ! 🙌
Retrouvez ici la correction de la commande pour ajouter votre conserve de haricots !
En résumé
On ajoute un objet à une table avec la commande
INSERT INTO
.Lors de l’utilisation de cette commande, on mentionne quelles sont les colonnes (et dans quel ordre) que l’on va remplir. Et on les sépare par des virgules.
On peut ajouter un ou plusieurs objets à la fois, là aussi, en les séparant par des virgules.
Vous voici capable de créer des objets dans votre BDD, pour la remplir. Mais une fois ceux-ci dans la base, comment les récupérer pour en lire le contenu ? C’est ce que vous allez voir dans le chapitre suivant !