存储过程 procedure
一.存储过程
作用:将经常使用的功能写成存储过程,方便后续重复使用。
二.创建存储过程
三.调用存储过程
call在计算机中是调用的意思
案例1:查看MySQL用户数
如上图所示,这是查看MySQL数据库中的user个数。
如上图所示,使用call 存储过程,应用存储过程,查看当前MySQL数据库中用户数的操作。
案例2:批量插入数据
向一个表中插入大量的测试数据,什么时候用,什么时候去调用这个存储过程就好了。
如上图所示,定义了一个变量i,这个变量i只存入整形类型的数据,这个变量i的默认值是1
随后是一个循环的操作。
在循环中进入循环中的变量初始值是1,这个变量的循环条件是变量值小于等于10,对变量值的调整是i=i+1
每执行一次循环,就要到tb01表的data字段,插入md5(变量i的值)生成的一段随机数。
这个md5函数就是用来生成一段随机数的。
如上图所示,这个md5函数根据不同的数据可以生成不同的校验数。
如上图所示,创建存储过程。应用存储过程。
如上图所示,应用存储过程之后,tb01表的data字段中出现10条数据。
create procedure 存储过程(参数)
这个参数代表的是什么意思。
希望存储过程中的循环执行次数由自己设定。
参数的目的就是为了增加存储过程的灵活性。
in类型的参数
out类型的参数
四.IN类型的参数
带有IN类型参数的存储过程要想正常工作,必须在调用存储过程的时候,向参数传递具体的数据。
如上图所示,in类型的参数就是将来别人调用我这个存储过程的时候,必须给我这个参数传入具体的数据。
in类型的参数,就表示,将来我这个存储类型能够正常工作,就必须给这个参数传入具体的数据。
案例1:改写批量插入数据
如上图所示,此时在创建存储过程的时候,创建了带有in类型参数的存储过程,
这个参数可以储存int类型的数据。
这里的while循环的条件设置成了变量i<=number这个参数值。
如上图所示,变量有性别和年龄,将上述查询操作写成一个存储过程。
如上图所示,这里的char类型的参数sex,用来存储性别,这里的int类型的参数number,用来存储年龄。如上图所示,调用存储过程,列出男性中年龄大于20的人。
五.OUT类型的参数
拿到执行操作的返回值。然后对这个结果进行额外的处理。
让存储过程返回某个数据,并不直接显示
为了方便接收结果,对结果再做其他的处理。
如上图所示,这就是out类型参数的作用,可以将调用存储过程产生的数据,存储到定义的变量@data中,我们可以用这个@data中的数值,去做其他的一些判断和操作。