实验六 MySql存储过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六MySql存储过程
一、实验目的
1、熟悉MySql的存储过程
二、实验内容
1、建立一张学生表,属性有学号、姓名、年龄三个字段。
2、建立一个存储过程,实现学生的全查询
3、分别用IN 和OUT实现姓名的调用
4、声明一个变量,把变量加1,再把变量加入到学生表的学号字段中。
5、建立一个存储过程,外部调用这个存储过程,当外部传入的值是0时,则在学生表中插入一个学号是17的学生,如果是1时,则在学生表中插入一个学号是18的学生,如果都不是,则在学生表中插入一个学号是19的学生.
6、建立一个存储过程,做一个循环语句,循环插入5个学生。(至少用三种循环的存储过程方法)
三、试验结果截图
1.建立一张学生表,属性有学号、姓名、年龄三个字段。
2.建立一个存储过程,实现学生的全查询
3.分别用IN 和OUT实现姓名的调用
4.声明一个变量,把变量加1,再把变量加入到学生表的学号字段中。
5.建立一个存储过程,外部调用这个存储过程,当外部传入的值是0时,则在学生表中插入一个学号是17的学生,如果是1时,则在学生表中插入一个学号是18的学生,如果都不是,则在学生表中插入一个学号是19的学生.
6建立一个存储过程,做一个循环语句,循环插入5个学生。(至少用三种循环的存储过程方法)
所有代码:
1.
create table stu(
stuno int,
stuna varchar(20),
stuage int
);
insert into stu values(001,'zhangsan',22);
insert into stu values(002,'lisi',23);
insert into stu values(003,'wangwu',23);
insert into stu values(004,'maliu',24);
insert into stu values(005,'zhaoqi',25);
insert into stu values(006,'gaoba',23);
insert into stu values(007,'ddddd',22);
insert into stu values(008,'ttttt',21);
2.
create procedure select_all()
select * from stu;
3.
delimiter //
create procedure searchno(
in no int,
out na varchar(20),
out age int
)
begin
select stuna from stu where stuno=no into na;
select stuage from stu where stuno=no into age; end //
delimiter ;
call searchno(n,@na,@age);
select @na,@age;
4.
delimiter //
create procedure noupdate(
in n int)
begin
update stu set stuno=stuno+n;
end //
delimiter ;
5.
delimiter //
create procedure addstu(
in sno int
)
begin
case sno
when 0 then insert into stu values(17,'no17',20); when 1 then insert into stu values(18,'no18',20); else insert into stu values(19,'no19',20);
end case;
end //
delimiter ;
6.
(1).
delimiter //
create procedure add5stu1()
begin
declare num1 int;
set num1=0;
loop_label:loop
insert into stu values (111,'111',20);
set num1=num1+1;
if num1>=5 then leave loop_label;
end if;
end loop;
end //
delimiter ;
(2).
delimiter //
create procedure add5stu2()
begin
declare num2 int;
set num2=0;
while num2<5 do
insert into stu values (222,'222',20);
set num2=num2+1;
end while;
end //
delimiter ;
(3).
delimiter //
create procedure add5stu3()
begin
declare num3 int;
set num3=0;
repeat
insert into stu values (333,'333',20);
set num3=num3+1;
until num3>=5
end repeat;
end //
delimiter ;
四、实验小结
本次试验让我好好补习了下前段时间落下的课程,让我对数据库有了新的体会和认识,