龙空技术网

MySQL中的存储过程

番茄247 54

前言:

眼前你们对“存储过程可以返回多个值吗”大致比较珍视,你们都想要了解一些“存储过程可以返回多个值吗”的相关内容。那么小编在网络上汇集了一些关于“存储过程可以返回多个值吗””的相关知识,希望你们能喜欢,姐妹们一起来了解一下吧!

1.什么是存储过程

MySQL存储过程(Stored Procedure)是事先编译后存储在数据库中的一组SQL语句的集合,它主要用于完成一段业务逻辑,可以看作是数据库中的一个函数。

2.MySQL存储过程的主要特点和优点

1,存储过程可以封装业务逻辑,把复杂的业务逻辑封装在存储过程中,应用程序通过简单地调用存储过程即可实现这些业务逻辑。

2,存储过程可以重复使用,减少冗余代码,实现代码复用。

3,存储过程可以接受参数并返回多个值,灵活性高。

4,存储过程可以central模块化,每个存储过程完成特定功能,便于维护和升级。

5,存储过程可以提高性能,因为是预编译的,减少了每次执行语句时的编译次数。

3,使用存储过程的主要步骤

创建存储过程:使用CREATE PROCEDURE语句。

执行存储过程:使用CALL语句。

删除存储过程:使用DROP PROCEDURE语句。

存储过程支持流程控制,可以使用分支和循环语句。存储过程使用的语言是标准SQL加上一些流程控制语句。

4.存储过程的使用例子

1,我们先创建一张表

create table student(id int primary key,name varchar(10) not null,age int not null)

2,向表中插入几条数据

insert into student values(1,'json',18),(2,'tom',16),(3,'jerry',34),(4,'coco',13),(5,'qiqi',18)

3,创建一个存储过程,统计年龄大于19岁的学生的个数并且返回

create procedure p9(out student_count int)	begin		select count(*) into student_count from student where age>19;	end;

out student_count int 定义了一个整型的输出参数student_count 这里的参数可以是 in, out 或者inout

过程体内的select count(*) into student_c ount 将select查询的结果赋值给了输出参数student_count

4,调用存储过程

call p9(@student_count);select @student_count;

call p9(@student_count) 调用了存储过程p9,并定义了一个变量@student_count来接收这个存储过程的输出参数值

因为p9有一个输出参数student_count,调用时需要传一个变量来接收其值,这里使用@student_count接收

5,另外存储过程中可以添加流程控制语句,例如if...elseif...else...end if, case...when...then...end case, while...end while

标签: #存储过程可以返回多个值吗 #mysql怎么储存数据 #存储过程mysql怎么用 #数据库中删除存储过程 #mysql存储过程into