Récupération de données dans une base de données avec un curseur de procédure stockée

SQLSQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à utiliser un curseur pour extraire les informations sur les cours de la table section où le semestre est printemps. Vous créerez une procédure stockée pour récupérer les détails des cours puis exécuterez la procédure pour afficher les résultats.

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment démarrer le serveur MySQL et importer une base de données
  • Comment créer une procédure stockée utilisant un curseur
  • Comment exécuter une procédure stockée pour extraire des données d'une base de données

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre comment utiliser un curseur pour extraire des données d'une base de données
  • Créer une procédure stockée pour encapsuler les opérations de base de données
  • Exécuter une procédure stockée pour afficher les données souhaitées

Démarrer MySQL et importer la base de données

Dans cette étape, vous allez apprendre à démarrer le serveur MySQL et à importer la base de données edusys.sql dans MySQL.

  1. Démarrer le serveur MySQL :

    sudo /etc/init.d/mysql start
  2. Se connecter au terminal MySQL :

    mysql -uroot
  3. Importer la base de données edusys.sql :

    SOURCE ~/project/edusys.sql

Créer la procédure stockée

Dans cette étape, vous allez apprendre à créer une procédure stockée pour extraire les informations sur les cours de la table section où le semestre est printemps.

  1. Créez un nouveau fichier nommé getSection.sql dans le répertoire /home/labex/project.

  2. Dans le fichier getSection.sql, définissez le délimiteur comme étant // :

    DELIMITER //
  3. Créez la procédure stockée getSectionProcude() :

    CREATE PROCEDURE getSectionProcude()
    BEGIN
        SELECT course_id, year, room_number
        FROM section
        WHERE semester = 'Spring';
    END //
  4. Remettez le délimiteur à la valeur par défaut :

    DELIMITER ;

Exécuter la procédure stockée

Dans cette étape, vous allez apprendre à exécuter la procédure stockée getSectionProcude() pour extraire les informations sur les cours.

  1. Dans l'invite MySQL, exécutez la commande suivante pour exécuter le script subquery.sql :

    SOURCE ~/project/getSection.sql
  2. Exécutez la procédure stockée :

    CALL getSectionProcude();

    Cela affichera les informations sur les cours où le semestre est printemps.

    MariaDB [edusys]> CALL getSectionProcude();
    +-----------+------+-------------+
    | course_id | year | room_number |
    +-----------+------+-------------+
    | CS-101    | 2018 | 101         |
    | FIN-201   | 2018 | 101         |
    | MU-199    | 2018 | 101         |
    | HIS-351   | 2018 | 514         |
    | CS-190    | 2017 | 3128        |
    | CS-190    | 2017 | 3128        |
    | CS-319    | 2018 | 3128        |
    | EE-181    | 2017 | 3128        |
    | CS-319    | 2018 | 100         |
    | CS-315    | 2018 | 120         |
    +-----------+------+-------------+
    10 rows in set (0.001 sec)
✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.