Exercice La Base de données
Importer cette base données
-- Création de la base de données
CREATE DATABASE fruits_legumes;
USE fruits_legumes;
-- Création de la table fruits
CREATE TABLE fruits (
id INT NOT NULL AUTO_INCREMENT,
nom VARCHAR(255),
couleur VARCHAR(255),
poids_moyen FLOAT,
PRIMARY KEY (id)
);
-- Insertion de données d'exemple dans la table fruits
INSERT INTO fruits (nom, couleur, poids_moyen)
VALUES
('Pomme', 'Rouge', 0.1),
('Banane', 'Jaune', 0.15),
('Orange', 'Orange', 0.2),
('Fraise', 'Rouge', 0.02);
-- Création de la table legumes
CREATE TABLE legumes (
id INT NOT NULL AUTO_INCREMENT,
nom VARCHAR(255),
couleur VARCHAR(255),
poids_moyen FLOAT,
PRIMARY KEY (id)
);
-- Insertion de données d'exemple dans la table legumes
INSERT INTO legumes (nom, couleur, poids_moyen)
VALUES
('Carotte', 'Orange', 0.1),
('Brocoli', 'Vert', 0.3),
('Pomme de terre', 'Marron', 0.2),
('Tomate', 'Rouge', 0.15);
INSERT INTO fruits (nom, couleur, poids_moyen)
VALUES
('Abricot', 'Orange', 0.05),
('Ananas', 'Marron', 1),
('Avocat', 'Vert', 0.2),
('Cassis', 'Noir', 0.01),
('Cerise', 'Rouge', 0.01),
('Citron', 'Jaune', 0.15),
('Clémentine', 'Orange', 0.08),
('Coing', 'Jaune', 0.3),
('Datte', 'Marron', 0.02),
('Figue', 'Violet', 0.05),
('Framboise', 'Rouge', 0.01),
('Grenade', 'Rouge', 0.2),
('Groseille', 'Rouge', 0.01),
('Kiwi', 'Marron', 0.07),
('Litchi', 'Rose', 0.02),
('Mandarine', 'Orange', 0.08),
('Mangue', 'Orange', 0.3),
('Melon', 'Vert', 1),
('Mirabelle', 'Jaune', 0.02),
('Mûre', 'Noir', 0.01),
('Myrtille', 'Bleu', 0.01),
('Nectarine', 'Orange', 0.1),
('Noix de coco','Marron' ,1 ),
('Olive','Vert' ,0.02 ),
('Pamplemousse','Jaune' ,0.3 ),
('Papaye','Orange' ,1 ),
('Pastèque','Vert' ,2 ),
('Pêche','Orange' ,0.15 ),
('Poire','Vert' ,0.2 ),
('Pomelo','Jaune' ,0.25 ),
('Prune','Violet' ,0.04 ),
('Raisin','Violet' ,0.02 );
INSERT INTO legumes (nom, couleur, poids_moyen)
VALUES
('Artichaut', 'Vert', 0.5),
('Asperge', 'Vert', 0.1),
('Aubergine', 'Violet', 0.2),
('Betterave', 'Rouge', 0.3),
('Blette', 'Vert', 0.3),
('Brocoli', 'Vert', 0.3),
('Carotte', 'Orange', 0.1),
('Céleri', 'Vert', 0.4),
('Champignon', 'Marron', 0.05),
('Chou-fleur', 'Blanc', 1),
('Chou de Bruxelles', 'Vert', 0.02),
('Concombre', 'Vert', 0.2),
('Courgette', 'Vert', 0.3),
('Échalote', 'Marron', 0.05),
('Endive', 'Blanc', 0.2),
('Épinard', 'Vert', 0.2),
('Fenouil','Vert' ,0.4 ),
('Haricot vert','Vert' ,0.05 ),
('Laitue','Vert' ,0.3 ),
('Maïs','Jaune' ,1 ),
('Navet','Blanc' ,0.2 ),
('Oignon','Marron' ,0.1 ),
('Panais','Blanc' ,0.3 ),
('Petit pois','Vert' ,0.01 ),
('Poireau','Vert' ,0.3 ),
('Poivron','Rouge' ,0.2 ),
('Pomme de terre','Marron' ,0.2 ),
('Potiron','Orange' ,2 ),
('Radis','Rouge' ,0.02 ),
('Tomate','Rouge' ,0.15 );
-- Ajout de la colonne calories dans la table fruits
ALTER TABLE fruits
ADD COLUMN calories FLOAT;
-- Ajout de la colonne calories dans la table legumes
ALTER TABLE legumes
ADD COLUMN calories FLOAT;
-- Mise à jour des calories pour les fruits
UPDATE fruits
SET calories =
CASE
WHEN nom = 'Pomme' THEN 52
WHEN nom = 'Banane' THEN 89
WHEN nom = 'Orange' THEN 47
WHEN nom = 'Fraise' THEN 33
WHEN nom = 'Abricot' THEN 48
WHEN nom = 'Ananas' THEN 50
WHEN nom = 'Avocat' THEN 160
WHEN nom = 'Cassis' THEN 63
WHEN nom = 'Cerise' THEN 50
WHEN nom = 'Citron' THEN 29
WHEN nom = 'Clémentine' THEN 47
WHEN nom = 'Coing' THEN 57
WHEN nom = 'Datte' THEN 282
WHEN nom = 'Figue' THEN 74
WHEN nom = 'Framboise' THEN 53
WHEN nom = 'Grenade' THEN 83
WHEN nom = 'Groseille' THEN 56
WHEN nom = 'Kiwi' THEN 61
WHEN nom = 'Litchi' THEN 66
WHEN nom = 'Mandarine' THEN 53
WHEN nom = 'Mangue' THEN 60
WHEN nom = 'Melon' THEN 34
WHEN nom = 'Mirabelle' THEN 67
WHEN nom = 'Mûre' THEN 43
WHEN nom = 'Myrtille' THEN 57
WHEN nom = 'Nectarine' THEN 44
WHEN nom = 'Noix de coco' THEN 354
WHEN nom = 'Olive' THEN 115
WHEN nom = 'Pamplemousse' THEN 42
WHEN nom = 'Papaye' THEN 43
WHEN nom = 'Pastèque' THEN 30
WHEN nom = 'Pêche' THEN 39
WHEN nom = 'Poire' THEN 57
WHEN nom = 'Pomelo' THEN 38
WHEN nom = 'Prune' THEN 46
ELSE calories -- keep the original value if the fruit is not in the list above.
END;
-- Mise à jour des calories pour les légumes
UPDATE legumes
SET calories =
CASE
WHEN nom='Artichaut' THEN 47
WHEN nom='Asperge' THEN 20
WHEN nom='Aubergine' THEN 25
WHEN nom='Betterave' THEN 43
WHEN nom='Blette' THEN 19
WHEN nom='Brocoli' THEN 34
WHEN nom='Carotte' THEN 41
WHEN nom='Céleri' THEN 16
WHEN nom='Champignon' THEN 22
WHEN nom='Chou-fleur' THEN 25
WHEN nom='Chou de Bruxelles' THEN 43
WHEN nom='Concombre' THEN 15
WHEN nom='Courgette' THEN 17
WHEN nom='Échalote' THEN 72
WHEN nom='Endive' THEN 17
WHEN nom='Épinard' THEN 23
WHEN nom='Fenouil' THEN 31
WHEN nom='Haricot vert' THEN 31
WHEN nom='Laitue' THEN 15
WHEN nom='Maïs' THEN 86
WHEN nom='Navet' THEN 28
WHEN nom='Oignon' THEN 40
WHEN nom='Panais' THEN 75
WHEN nom='Petit pois' THEN 81
ELSE calories -- keep the original value if the vegetable is not in the list above.
END;