介绍
在本项目中,你将学习如何使用游标从 section 表中输出学期为春季的课程信息。你将创建一个存储过程来检索课程详细信息,然后执行该过程以显示结果。
🎯 任务
在本项目中,你将学习:
- 如何启动 MySQL 服务器并导入数据库
- 如何使用游标创建存储过程
- 如何执行存储过程以从数据库中检索数据
🏆 成果
完成本项目后,你将能够:
- 理解如何使用游标从数据库中检索数据
- 创建一个存储过程来封装数据库操作
- 执行存储过程以显示所需数据
启动 MySQL 并导入数据库
在这一步中,你将学习如何启动 MySQL 服务器并将 edusys.sql 数据库导入到 MySQL 中。
启动 MySQL 服务器:
sudo /etc/init.d/mysql start登录到 MySQL 终端:
mysql -uroot导入
edusys.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 提示符下,运行以下命令来执行 subquery.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 中练习更多实验来提升你的技能。
