• 6 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 5/31/22

Insérez des données dans votre BDD

Log in or subscribe for free to enjoy all this course has to offer!

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.

Create-Créer, Read-Lire, Update-Mettre à jour, Delete-Effacer
L’acronyme CRUD où MAJ signifie Mettre À Jour

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 ?

Schéma représentant de gauche à droite : un utilisateur qui s'inscrit et qui génère une commande INSERT INTO, qui est envoyée à la BDD, puis qui intégré dans l'application Foodly.
Insertion d’un utilisateur dans la BDD de Foodly

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

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 :

  1. On indique en SQL qu’on souhaite ajouter un objet avecINSERT INTO.

  2. On écrit ensuite le nom de la table dans laquelle on souhaite ajouter l’objet, ici “utilisateur”.

  3. On écrit ensuite entre parenthèses la liste des colonnes que l’on va ajouter, ainsi que leur ordre.

  4. On ajoute le mot clé SQLVALUESqui indique qu’on va ensuite déclarer les valeurs que l’on souhaite ajouter.

  5. 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);
Récapitulatif visuel du paragraphe rédigé ci-dessous
La rédaction des valeurs selon leur type

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 commandeINSERT 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 !

Example of certificate of achievement
Example of certificate of achievement