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