Introduction
Dans ce projet, vous allez apprendre à créer une procédure stockée dans MySQL pour récupérer les cours dont les crédits sont supérieurs à 3. Ce projet vous aidera à comprendre les bases du travail avec les procédures stockées dans un système de gestion de base de données.
👀 Aperçu
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title | dept_name | credits |
+-----------+----------------------------+------------+---------+
| BIO-101 | Intro. to Biology | Biology | 4 |
| BIO-301 | Genetics | Biology | 4 |
| CS-101 | Intro. to Computer Science | Comp. Sci. | 4 |
| CS-190 | Game Design | Comp. Sci. | 4 |
| PHY-101 | Physical Principles | Physics | 4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment accéder à MySQL en utilisant la commande
sudosans mot de passe - Comment importer des données dans la base de données MySQL
- Comment créer une procédure stockée pour récupérer des données spécifiques à partir d'un tableau
- Comment tester la procédure stockée pour vous assurer qu'elle fonctionne comme prévu
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre le but et les avantages de l'utilisation de procédures stockées dans une base de données
- Créer vos propres procédures stockées pour effectuer des tâches de récupération de données spécifiques
- Dépanner et tester les procédures stockées pour vous assurer qu'elles fonctionnent correctement
- Appliquer les connaissances acquises dans ce projet pour construire des applications plus complexes basées sur une base de données
Accéder à MySQL et importer la base de données
Dans cette étape, vous allez apprendre à accéder à MySQL en utilisant la commande sudo sans mot de passe, et à importer les données de /home/labex/project/edusys.sql dans MySQL.
- Démarrer le service MySQL :
sudo service mysql start
- Accéder à MySQL en utilisant la commande
sudo:
sudo mysql
- Importer les données de
/home/labex/project/edusys.sqldans MySQL et basculer sur la base de donnéesedusys:
MariaDB [None]> SOURCE /home/labex/project/edusys.sql;
Créer la procédure stockée getCourses
Dans cette étape, vous allez créer une procédure stockée appelée getCourses qui récupère les cours de la table course où la valeur du champ credits est supérieure à 3.
- Ouvrez le fichier
getCourses.sql. - Ajoutez le code suivant au fichier
getCourses.sql:
-- Creating the getCourses stored procedure
DELIMITER //
CREATE PROCEDURE getCourses()
BEGIN
-- Retrieve courses from the course table where the credits field is greater than 3
SELECT course_id, title, dept_name, credits
FROM course
WHERE credits > 3;
END //
DELIMITER ;
- Enregistrez et quittez le fichier.
Tester la procédure stockée getCourses
Dans cette étape, vous allez tester la procédure stockée getCourses pour vous assurer qu'elle fonctionne comme prévu.
- Exécutez le script
getCourses.sqldans MySQL :
MariaDB [edusys]> SOURCE /home/labex/project/getCourses.sql;
- Appelez la procédure stockée
getCourses:
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title | dept_name | credits |
+-----------+----------------------------+------------+---------+
| BIO-101 | Intro. to Biology | Biology | 4 |
| BIO-301 | Genetics | Biology | 4 |
| CS-101 | Intro. to Computer Science | Comp. Sci. | 4 |
| CS-190 | Game Design | Comp. Sci. | 4 |
| PHY-101 | Physical Principles | Physics | 4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)
La sortie montre que la procédure stockée getCourses fonctionne comme prévu, en récupérant tous les cours dont les crédits sont supérieurs à 3.
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.
