在MySQL数据库中,存储过程是一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程的使用可以带来多方面的优势,如加快数据的处理速度、降低系统负载、提高代码复用性等。
MySQL中的存储过程根据使用特点可以分为以下两种:
案例要求:向boys表中插入数据。
delimiter $
create procedure mypro1()
begin
INSERT into boys VALUES(5,'张三',1223);
INSERT into boys VALUES(6,'张6',1233);
INSERT into boys VALUES(7,'张7',1243);
INSERT into boys VALUES(8,'张8',1253);
END$
call mypro1();
案例要求:创建存储过程实现根据女生名,查找对应的男生信息。
delimiter $
create procedure mypro3(IN girlname varchar(20))
BEGIN
select * from boys b right join beauty g ON b.id=g.boyfrind_id where g.name=girlname;
END$
call mypro3('刘岩');
call mypro3('小昭');
案例要求:根据女生名,返回对应的男生名。
delimiter $
create procedure mypro4(IN girlname varchar(20), OUT mingzi varchar(20))
BEGIN
select b.boyname INTO mingzi FROM beauty g JOIN boys b ON g.boyfrind_id=b.id where g.NAME=girlname;
END$
CALL mypro4('小昭', @bName);
select @bName;
案例要求:传入a和b两个值,最终a和b都翻倍并返回。
delimiter $
create PROCEDURE mypr05(INOUT a int, INOUT b int)
BEGIN
SET a=a*2;
SET b=b*2;
END$
SET @c=2;
SET @d=10;
call mypr05(@c,@d);
select @c, @d;
通过以上分类和实战案例,相信你对MySQL存储过程有了更深入的了解。在实际应用中,可以根据业务需求选择合适的存储过程类型,并通过创建、调用、删除和查看等操作来管理存储过程,从而提高数据库操作的效率和性能。