3.2 - Exercices


Consigner les commandes dans un fichier de script.

  • Utiliser le code SQL fourni comme point de départ

Cuisto

CREATE DATABASE IF NOT EXISTS cuisto;

USE cuisto;

CREATE OR REPLACE TABLE recipes (
    name VARCHAR(250) NOT NULL,
    description VARCHAR(1000),
    ingredients VARCHAR(1000),
    steps VARCHAR(2000),
    preparation_time INT DEFAULT 0,
    category VARCHAR(50) NOT NULL DEFAULT 'Uncategorized' 
);

INSERT INTO recipes 
VALUES ('Sandwich', 'Une garniture entre 2 tranches de pain', 'Pain, Garniture', 'Trancher, Garnir, Déguster', 5, 'Principal'),
('Sandwich', 'Du fromage entre 2 tranches de pain', 'Pain, Fromage', 'Trancher, Garnir, Griller, Déguster', 12, DEFAULT),
('Paté chinois', NULL, 'Steak, Blé d''inde, Patates', 'Cuire la viande, mélanger', 45, 'Principal'),
('Lasagne', 'Pâtes étagées', 'Pâtes, sauce', 'Cuire, Étendre, Garnir', 90, 'Principal'),
('Poutine', NULL, 'Patates, Sauce brune, Fromage en grain', 'Couper les patates en frites, cuire au four, réchauffer la sauce, servir', 30, DEFAULT),
('Bouilli', NULL, 'Patates, Fèves, Choux, Carottes, Cubes de boeuf', 'Couper les légumes, mélanger, cuire dans un bouillon', 150, 'Principal'),
('Soupe', 'Bouillon de légumes', 'Légumes de saison', 'mélanger dans un chaudron, bouillir', 20, 'Entrée'),
('Soupe', 'Crème de brocoli', 'Bouillon, Patates, Brocoli', 'Cuire, Passer au mélangeur', 25, 'Entrée'),
('Soupe', 'Poulet et nouilles', 'Poulet, nouilles', 'cuire le poulet et les pâtes séparément, mélanger', 45, 'Entrée');

INSERT INTO recipes (name, category, ingredients, steps, preparation_time)
VALUES ('Pomme', 'Collation', DEFAULT, DEFAULT, DEFAULT), ('Banane', 'Collation', DEFAULT, DEFAULT, DEFAULT), ('Fromage', 'Collation', DEFAULT, 'Couper en bâtons', 2), ('Craquelins', 'Collation', 'Biscuits au choix', 'Tartiner au goût', DEFAULT);

Modifier la category pour 'Plat principal' des recettes qui ont la catégorie 'Principal'.

Modifier le nom des entrées pour '(Nom)', donc mettre en parenthèses

Modifier le nom pour '+++ NOM'(donc ajouter '+++ ' et mettre en MAJUSCULE) des 5 recettes possédant le plus long temps de préparation.

Modifier mettre à 1 le temps de préparation des recettes avec étapes et sans temps

Modifier le temps de préparation en le multipliant par 2 pour les recettes dont les étapes comptent plus de 40 caractères

Modifier la description, les ingrédients et les étapes de toutes les recettes pour mettre la première lettre en MAJUSCULE et le reste en minuscule

Supprimer les recettes non-catégorisées en affichant les items supprimés

Supprimer les recettes sans description, recettes et étapes

Supprimer la recette la plus longue à préparer en affichant le nom et la durée de l'item supprimé

Supprimer les recettes demandant au moins 1h de préparation, en affichant le nom et le temps de préparation au format Xhy, ex: 70 devient 1h10

Supprimer toutes les recettes