实验六 MySql存储过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ;

四、实验小结

本次试验让我好好补习了下前段时间落下的课程,让我对数据库有了新的体会和认识,

相关文档
最新文档