存储过程原理简单解析

1.什么是存储过程?

将一组预先编译好的SQL语句的集合,存放在一个特定的文件中。类似于JAVA中的方法。

2.存储过程的工作原理

在这里插入图片描述
将存储过程预先编译好的SQL语句集合称为集合A,里面包含SQL1、SQL2、SQL3…许多句需要在项目中使用的SQL语句。
①当应用在调用SQL集合时可以直接调用集合A而不需要一个一个的调用SQL语句。
②当系统在第二次调用这些SQL语句执行某些功能的时候,它会先去查看是否已经有编译过的SQL语句,当发现集合A有符合的情况时,会直接调用A。
③假设没有存储过程,也就是SQL1、SQL2、SQL3…这几个SQL语句是相互独立的,当系统完成一个功能时需要执行这三个SQL,也就是完成某功能时要连接三次数据库服务器。所以存储过程可以将三次连接减少到一次,提高了连接效率。

3.存储过程的好处

1.提高SQL语句的重用性;
2.简化编译操作;
3.减少了编译次数,减少和数据库服务器的连接次数,提高效率;

4.存储过程的创建及使用

4.1 创建语法

# 设置结束标志
delimiter $
#创建存储过程
create procedure 存储过程名(参数模式 参数名 参数类型)
begin
	SQL1;
	SQL2;
	SQL3;
	...
end $

参数模式分为三种:
IN :该参数可以作为输入,需要调用方传入参数值;
OUT:该参数可以作为输出,可以作为方法的返回值;
INOUT:该参数既可以作为输入,也可以作为输出;

4.2 调用语法

#调用存储过程
call 存储过程名(实参列表)$;

4.3 示例

1.检测用户是否可以成功登陆(包含用户名和密码)
#创建存储过程
delimiter $
create procedure mp4(IN username varchar(20),IN password varchar(20))
begin
	declare result INT default 0;
		select count(*) into result
		from admin 
		where admin.username=username and admin.password=password;
	select if(result>0,'成功','失败');
end $
#调用存储过程
call mp4('john','1234')$
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值