はじめに
このプロジェクトでは、セメスターが春の section テーブルからコース情報を出力するためにカーソルを使用する方法を学びます。コースの詳細を取得するためのストアド プロシージャを作成し、その後、手順を実行して結果を表示します。
🎯 タスク
このプロジェクトでは、以下を学びます。
- MySQL サーバーを起動してデータベースをインポートする方法
- カーソルを使用してストアド プロシージャを作成する方法
- データベースからデータを取得するためにストアド プロシージャを実行する方法
🏆 成果
このプロジェクトを完了すると、以下ができるようになります。
- データベースからデータを取得するためのカーソルの使用方法を理解する
- データベース操作をカプセル化するためのストアド プロシージャを作成する
- 必要なデータを表示するためにストアド プロシージャを実行する
MySQL を起動してデータベースをインポートする
このステップでは、MySQL サーバーを起動して edusys.sql データベースを MySQL にインポートする方法を学びます。
MySQL サーバーを起動する:
sudo /etc/init.d/mysql startMySQL ターミナルにログインする:
mysql -urootedusys.sqlデータベースをインポートする:SOURCE ~/project/edusys.sql
ストアド プロシージャを作成する
このステップでは、セメスターが春の section テーブルからコース情報を取得するためのストアド プロシージャを作成する方法を学びます。
/home/labex/projectディレクトリにgetSection.sqlという名前の新しいファイルを作成します。getSection.sqlファイルで、区切り文字を//に定義します。DELIMITER //getSectionProcude()ストアド プロシージャを作成します。CREATE PROCEDURE getSectionProcude() BEGIN SELECT course_id, year, room_number FROM section WHERE semester = 'Spring'; END //区切り文字をデフォルトに戻します。
DELIMITER ;
ストアド プロシージャを実行する
このステップでは、コース情報を取得するために getSectionProcude() ストアド プロシージャを実行する方法を学びます。
MySQL プロンプトで、以下のコマンドを実行してサブクエリ.sql スクリプトを実行します。
SOURCE ~/project/getSection.sqlストアド プロシージャを実行します。
CALL getSectionProcude();これにより、セメスターが春のコース情報が出力されます。
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)
まとめ
おめでとうございます!このプロジェクトを完了しました。実力を向上させるために、LabEx でさらに多くの実験を行って練習してください。
