您的位置:首页 > 汽车 > 时评 > 东莞建筑建设网站建设_深圳推广公司哪家好_环球网疫情最新动态_搜索引擎seo如何赚钱

东莞建筑建设网站建设_深圳推广公司哪家好_环球网疫情最新动态_搜索引擎seo如何赚钱

2025/1/1 12:19:45 来源:https://blog.csdn.net/weixin_43344151/article/details/143169626  浏览:    关键词:东莞建筑建设网站建设_深圳推广公司哪家好_环球网疫情最新动态_搜索引擎seo如何赚钱
东莞建筑建设网站建设_深圳推广公司哪家好_环球网疫情最新动态_搜索引擎seo如何赚钱

【重学 MySQL】七十五、揭秘存储过程的分类与实战案例,让你的数据库操作更高效!

  • MySQL存储过程的分类
  • MySQL存储过程的实战案例
    • 创建和调用无参数的存储过程
    • 创建和调用带IN模式参数的存储过程
    • 创建和调用带OUT模式参数的存储过程
    • 创建和调用带INOUT模式参数的存储过程

在这里插入图片描述

在MySQL数据库中,存储过程是一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程的使用可以带来多方面的优势,如加快数据的处理速度、降低系统负载、提高代码复用性等。

MySQL存储过程的分类

MySQL中的存储过程根据使用特点可以分为以下两种:

  1. 基本存储过程(Basic Stored Procedure):基本存储过程不包含控制语句(如条件语句、循环语句、异常处理等),只包含一到多个SQL语句的顺序执行。它通常用于简单的数据操作或个别的业务逻辑,比如插入、更新、删除等。
  2. 复杂存储过程(Complex Stored Procedure):复杂存储过程包含控制语句和多个SQL语句的组合,其执行流程可以根据不同的条件进行分支和循环操作,还可以进行异常处理、返回参数和结果集等高级操作。复杂存储过程通常用于业务逻辑复杂、数据关联度高的场景,比如报表生成、数据处理等。

MySQL存储过程的实战案例

创建和调用无参数的存储过程

案例要求:向boys表中插入数据。

  • 创建存储过程
delimiter $
create procedure mypro1()
beginINSERT 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();

创建和调用带IN模式参数的存储过程

案例要求:创建存储过程实现根据女生名,查找对应的男生信息。

  • 创建存储过程
delimiter $
create procedure mypro3(IN girlname varchar(20))
BEGINselect * from boys b right join beauty g ON b.id=g.boyfrind_id where g.name=girlname;
END$
  • 调用存储过程
call mypro3('刘岩');
call mypro3('小昭');

创建和调用带OUT模式参数的存储过程

案例要求:根据女生名,返回对应的男生名。

  • 创建存储过程(以MySQL 8.0版本为例):
delimiter $
create procedure mypro4(IN girlname varchar(20), OUT mingzi varchar(20))
BEGINselect 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;

创建和调用带INOUT模式参数的存储过程

案例要求:传入a和b两个值,最终a和b都翻倍并返回。

  • 创建存储过程
delimiter $
create PROCEDURE mypr05(INOUT a int, INOUT b int)
BEGINSET a=a*2;SET b=b*2;
END$
  • 调用存储过程
SET @c=2;
SET @d=10;
call mypr05(@c,@d);
select @c, @d;

通过以上分类和实战案例,相信你对MySQL存储过程有了更深入的了解。在实际应用中,可以根据业务需求选择合适的存储过程类型,并通过创建、调用、删除和查看等操作来管理存储过程,从而提高数据库操作的效率和性能。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com