Einführung
In diesem Projekt lernst du, wie du einen Cursor verwendest, um die Kursinformationen aus der Tabelle section auszugeben, in der der Semesterbeginn im Frühling ist. Du wirst eine gespeicherte Prozedur erstellen, um die Kursdetails abzurufen, und dann die Prozedur ausführen, um die Ergebnisse anzuzeigen.
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du den MySQL-Server starten und eine Datenbank importieren kannst
- Wie du eine gespeicherte Prozedur mit einem Cursor erstellen kannst
- Wie du eine gespeicherte Prozedur ausführen kannst, um Daten aus einer Datenbank abzurufen
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Zu verstehen, wie du einen Cursor verwendest, um Daten aus einer Datenbank abzurufen
- Eine gespeicherte Prozedur zu erstellen, um Datenbankoperationen zu kapseln
- Eine gespeicherte Prozedur auszuführen, um die gewünschten Daten anzuzeigen
Starte MySQL und importiere die Datenbank
In diesem Schritt lernst du, wie du den MySQL-Server startest und die Datenbank edusys.sql in MySQL importierst.
Starte den MySQL-Server:
sudo /etc/init.d/mysql startMelde dich am MySQL-Terminal an:
mysql -urootImportiere die Datenbank
edusys.sql:SOURCE ~/project/edusys.sql
Erstelle die gespeicherte Prozedur
In diesem Schritt lernst du, wie du eine gespeicherte Prozedur erstellst, um die Kursinformationen aus der Tabelle section abzurufen, in der der Semesterbeginn im Frühling ist.
Erstelle eine neue Datei namens
getSection.sqlim Verzeichnis/home/labex/project.Definiere im Datei
getSection.sqldas Trennzeichen als//:DELIMITER //Erstelle die gespeicherte Prozedur
getSectionProcude():CREATE PROCEDURE getSectionProcude() BEGIN SELECT course_id, year, room_number FROM section WHERE semester = 'Spring'; END //Setze das Trennzeichen zurück auf den Standardwert:
DELIMITER ;
Führe die gespeicherte Prozedur aus
In diesem Schritt lernst du, wie du die gespeicherte Prozedur getSectionProcude() ausführst, um die Kursinformationen abzurufen.
Im MySQL-Prompt führe den folgenden Befehl aus, um das Skript subquery.sql auszuführen:
SOURCE ~/project/getSection.sqlFühre die gespeicherte Prozedur aus:
CALL getSectionProcude();Dies wird die Kursinformationen ausgeben, in denen der Semesterbeginn im Frühling ist.
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)
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.
