MySQL学习笔记(11)MySQL存储过程

11、MySQL存储过程


1、存储过程

含义:一组预先编译好的SQL语句集合,理解成批处理语句,类似于java中的方法

1.1、语法

创建

create procedure 存储过程名(参数列表) begin 存储过程体  end

注意:

参数列表包含三部分:参数模式 参数名 参数类型

in stuname varchar(20);

参数模式:

in 该参数可以作为输入,即需要调用者传递
out 该参数可作为输出,即返回值
inout 该参数即可以作为输入也可以作为输出,既需要传入值,也可以返回值

如果存储过程只有一句话,begin end可省略

存储过程体中每条sql语句结尾必须加分号

存储过程的结尾可以使用delimiter重新设置

语法

delimiter $

调用语法

call 存储过程名(实参列表)

1.2、示范

1、空参列表

插入五条记录

存储过程如下

delimiter $
create procedure myp1()
begin
	insert into admin(username,password) values('join1','000'),('liliy','000'),('liliy','000'),('liliy','000'),('liliy','000');
end $

调用

call myp1()$

2、创建带in模式参数的存储过程

create procedure myp2(in beautyName varchar(20))
begin
	select bo.*
	from boys bo
	right join beauty b on bo.id = b.boyfriend_id
	where b.name=beautyName;
end $

调用

call myp2('名字')$

3、带out模式的存储过程

create procedure myp5(in beautyName varchar(20),out boyName varchar(20))
begin 
	select bo.boyName
	from boys bo
	inner join beauty b on bo.id = b.boyfried_id
	where b.name=beautyName
end $

4、带inout模式参数的存储过程

传入a和b,最终a和b都翻倍并返回

create procedure myp8(inout a int,inout b int)
begin
	set a=a*2;
	set b=b*2;
end $

2、删除

drop procedure 过程名;

3、查看

show create procedure 过程名;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值