mysql学习笔记(六):存储过程

注意:此页面是使用 SQLyog 工具操作数据库。 

 

什么是存储过程?

存储过程是带有 逻辑的 sql 语句,普通的 sql 语句没有条件判断,没有循环,存储过程可以带上流程控制语句(if while)

 

存储过程特点

1)、执行效率非常快;存储过程是在数据库的服务器端执行的;

2)、移植性很差;不同的数据库,存储过程的语法不一样;

 

存储过程语法

创建存储过程:

 

执行(调用)存储过程:

删除 存储过程:

 

存储过程还可以带有参数:

1、in:表示输入参数,可以向存储过程传递参数;

传入一个员工的 id,根据 id 查询员工的信息:

调用 存储过程,传入参数 id:

 

 

2、out:表示输出参数,可以从存储过程中返回结果;

定义一个 会话变量 来接收存储过程 返回的数据,如下所示:

然后查看 会话变量 的值:

 

3、inout:表示输入输出参数,既可以输入数据,也可以输出数据;

定义一个会话变量 num,然后给 num 赋值 20,如下:

 

调用 存储过程,并传入 num:调用存储过程时,会执行存储过程中的 select num 语句,输出 num 的值为 20;

同时在存储过程中 重新给 num 赋值 200,并作为参数 传出 存储过程;

查看从 存储过程 中传出的 num 变量的值:

 

存储过程 还可以带有条件判断

创建带有条件判断的 存储过程: 

调用 存储过程:

查看 存储过程返回的值:

 

存储过程 还可以带有循环语句

 创建一个带有 循环语句 的存储过程:

调用存储过程:

查看传出参数 的值:

 

存储过程 还可以将查询结果赋值给变量并传出来

创建一个存储过程,将查询结果赋值给变量,并传出:

 

调用存储过程:传入参数2,将查询结果赋值给传出变量 result;

查询 result 的值:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值