根据实验2.1中表1所设计的数据库(teaching_lab)和其中的3个数据表(学生表s_lab、课程表c_lab和学生成绩表sc_lab),成如下实验内容,给出实验涉及的SQL语句和执行结果截图。 1.通过MySQL编程,完成用户存储过程的创建、调用、查看和删除等管理工作。 (1)创建存储过程showstudents,显示出生年月在2002年7月前出生的性别为“男”的学生所有信息; (2)编写程序代码,调用存储过程showstudents,显示执行结果; (3)写出相应语句,分别查看存储过程showstudents的代码定义和状态特征; (4)修改存储过程showstudents,将其功能改为:显示出生年月在2002年7月前出生的性别为“女”的学生信息。
时间: 2024-04-16 16:29:09 浏览: 300
根据实验2.1中的数据库(teaching_lab)和数据表(学生表s_lab、课程表c_lab和学生成绩表sc_lab),下面是完成实验内容的SQL语句和步骤:
1. 创建存储过程showstudents,显示出生年月在2002年7月前出生的性别为“男”的学生所有信息:
```sql
CREATE PROCEDURE showstudents()
BEGIN
SELECT *
FROM s_lab
WHERE YEAR(birthday) < 2002 AND MONTH(birthday) < 7 AND gender = '男';
END;
```
2. 调用存储过程showstudents,显示执行结果:
```sql
CALL showstudents();
```
3. 查看存储过程showstudents的代码定义和状态特征:
```sql
SHOW CREATE PROCEDURE showstudents;
```
4. 修改存储过程showstudents,将其功能改为:显示出生年月在2002年7月前出生的性别为“女”的学生信息:
```sql
DROP PROCEDURE IF EXISTS showstudents;
CREATE PROCEDURE showstudents()
BEGIN
SELECT *
FROM s_lab
WHERE YEAR(birthday) < 2002 AND MONTH(birthday) < 7 AND gender = '女';
END;
```
执行以上SQL语句后,你可以通过调用存储过程`showstudents()`来显示出生年月在2002年7月前出生的性别为“女”的学生信息。
请确保将所有的表名和字段名与实际的数据库结构匹配。
阅读全文