31/01/2025 19:16 OpenClassrooms
Manipulez des données avec les opérations CRUD
Compétences évaluées
Manipuler des données avec les opérations CRUD
Description
Reprenons notre BDD Moviz du précédent quiz. Cette base doit contenir des films, or elle n’en contient
actuellement aucun !
Si vous ne l’avez plus, voici le lien pour la télécharger : [Link]
Center/Course-implementez-BDD-SQL/blob/master/partie_2/[Link]
Assurez vous bien d'avoir créé la base de donnée dans votre MySQL, d'avoir chargé le bon
fichier dans la bonne base, et d'avoir bien sélectionné la base moviz.
Commencez donc par ajouter des films puis vous essaierez :
De les lire depuis votre base ;
De les modifier ;
Et enfin de les supprimer.
Pour rappel, voici le schéma de la table “film” :
Nom du champ Type du champ Description du champ
nom VARCHAR(255) le nom du film
date_de_sortie DATE la date de sortie du film
synopsis TEXT la description du scénario du film
langue VARCHAR(255) la langue principale du film
budget INTEGER le budget de production du film
Et les trois films que l’on va ajouter puis manipuler :
Nom Date de Budget Synopsis Langue
sortie
Titanic 04 avril 200 000 000 $ L'histoire du plus grand paquebot de son anglais
1998 époque, et de sa funeste fin.
Skyfall 26 octobre 200 000 000 $ Dans cet épisode le plus sombre de la saga, anglais
2012 James Bond retourne à ses origines.
[Link] 1/4
31/01/2025 19:16 OpenClassrooms
La La 25 janvier 30 000 000 $ Une histoire d'amour à Los Angeles sous forme anglais
Land 2017 de comédie musicale.
Avant de passer aux questions suivantes, essayez de créer les trois films vous-même. Cela vous aidera
grandement dans la compréhension du cours et des questions.
De plus, manipuler le SGBD via le SQL dans la réalité est toujours bien plus efficace pour apprendre que
de “simplement” répondre à des questions. 😉
Question 1
Quelle commande crée les trois films ?
INSERT INTO 'film' ('nom', 'budget', 'synopsis', 'langue', 'date_de_sortie')
VALUES
('Titanic', '1998-04-04', 'L'histoire du plus grand paquebot de son époque, et de sa
funestre fin.', 'anglais', 200000000),
('Skyfall', '2012-10-26', 'Dans cet épisode le plus sombre de la saga, James Bond
retourne à ses origines.', 'anglais', 200000000),
('La La Land', '2017-01-25', 'Une histoire d'amour à Los Angeles sous forme de
comédie musicale.', 'anglais', 30000000);
UPDATE INTO `film` (`nom`, `date_de_sortie`, `synopsis`, `langue`, `budget`)
VALUES
(`Titanic`, `1997-04-04`, `L'histoire du plus grand paquebot de son époque, et de sa
funestre fin.`, `français`, 15000000),
(`Skyfall`, `2015-10-26`, `Dans cet épisode le plus sombre de la saga, James Bond
retourne à ses origines.`, `allemand`, 85000000),
(`La La Land`, `2017-01-15`, `Une histoire d'amour à Los Angeles sous forme de
comédie musicale.`, `anglais`, 30000000);
INSERT INTO `film` (`nom`, `date_de_sortie`, `synopsis`, `langue`, `budget`)
VALUES
(`Titanic`, `1998-04-04`, `L'histoire du plus grand paquebot de son époque, et de sa
funestre fin.`, `anglais`, 200000000),
(`Skyfall`, `2012-10-26`, `Dans cet épisode le plus sombre de la saga, James Bond
retourne à ses origines.`, `anglais`, 200000000),
(`La La Land`, `2017-01-25`, `Une histoire d'amour à Los Angeles sous forme de
comédie musicale.`, `anglais`, 30000000);
[Link] 2/4
31/01/2025 19:16 OpenClassrooms
Question 2
Quelle commande permet de lire les titres et dates de sorties des films que l’on vient d’ajouter ?
SELECT * FROM film;
SELECT `nom`, `date_de_sortie` FROM film;
DELETE * FROM film;
Question 3
Quelle serait la fin d’une commande pour filtrer sur le film Titanic uniquement ?
WHERE `nom` = “Titanic”;
WHERE `Titanic`:
DELETE * FROM film;
Question 4
Si on utilisait UPDATE sans WHERE, que se passerait-il ?
On supprimerait tous les objets d’une table.
On mettrait à jour tous les objets d’une table.
Le commande ne fonctionnerait pas.
Question 5
Quelle commande permet de mettre à jour le budget de Skyfall ?
UPDATE `film` SET `budget` = 200500000 WHERE `nom` = “Skyfall”;
INSERT INTO `film` SET `budget` = 200500000 WHERE `nom` = “Skyfall”;
UPDATE `film` SET `budget` = 200500000 WHERE `nom` = “Titanic”;
[Link] 3/4
31/01/2025 19:16 OpenClassrooms
Question 6
Quelle commande permet de supprimer La La Land ?
DELETE `film` WHERE `nom` = “La La Land”;
DELETE FROM `film` WHERE `nom` = “La La Land”;
DELETE `film`;
Question 7
Pour supprimer la table film, il faut taper la commande
DROP film FROM moviz;
DELETE * FROM film;
DROP TABLE film;
DELETE film FROM moviz;
Question 8
Mon manager me demande de taper la commande DELETE FROM film ; Je :
Attention, plusieurs réponses sont possibles.
M'exécute sans réfléchir, après tout c'est lui le boss.
Lui demande confirmation, et précise bien la portée d'une telle commande.
Vérifie s'il existe des sauvegardes de la base de données et si elles sont à jour.
Ne tape pas la commande, en tout cas pas tout de suite.
[Link] 4/4