数据库基础知识——存储过程和函数

1.存储过程

含义:一组经过预先编译的sql语句的集合
好处:

1、提高了sql语句的重用性,减少了开发程序员的压力
2、提高了效率
3、减少了传输次数

分类:

1、无返回无参
2、仅仅带in类型,无返回有参
3、仅仅带out类型,有返回无参
4、既带in又带out,有返回有参
5、带inout,有返回有参
注意:in、out、inout都可以在一个存储过程中带多个

1.1 创建存储过程

语法:

create procedure 存储过程名(in|out|inout 参数名  参数类型,...)
begin
	存储过程体

end

注意

1、需要设置新的结束标记
delimiter 新的结束标记
示例:
delimiter $

CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名  参数类型,...)
BEGIN
	sql语句1;
	sql语句2;

END $

2、存储过程体中可以有多条sql语句,如果仅仅一条sql语句,则可以省略begin end

3、参数前面的符号的意思
in:该参数只能作为输入 (该参数不能做返回值)
out:该参数只能作为输出(该参数只能做返回值)
inout:既能做输入又能做输出

1.2 调用存储过程

call 存储过程名(实参列表)
#1.存储过程实现在admin表中插入五条记录
create procedure mypl()
begin 
		insert into admin(username,password)
		value("zhaoxr",1234),
					("lili",3728),
					("caocao",23902),
					("sasha",89023),
					("fang",82021);
end;

call mypl();

#2.输入女神名字,查找她对应的男朋友
create procedure mypl2(in beautyname varchar(20))
begin
		select boys.boyName
		from boys
		join beauty
		on beauty.boyfriend_id=boys.id
		where beauty.name=beautyname;
end;
call mypl2("小昭");

1.3 删除存储过程

drop procedure 存储过程名 

1.4 查看存储过程

show create procedure 存储过程名

2.函数

2.1 创建函数

学过的函数:LENGTH、SUBSTR、CONCAT等
语法:

	CREATE FUNCTION 函数名(参数名 参数类型,...) RETURNS 返回类型
	BEGIN
		函数体
	
	END

2.2 调用函数

SELECT 函数名(实参列表)

2.3 函数的删除和查看

#删除
drop function 函数名
#查看
show create function 函数名

2.4 函数和存储过程的区别

关键字调用语法返回值应用场景
函数FUNCTION SELECT 函数()只能是一个一般用于查询结果为一个值并返回时,当有返回值而且仅仅一个
存储过程PROCEDURE CALL 存储过程()可以有0个或多个一般用于更新
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值