Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标

一、存储过程管理

1.查询存储过程

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第1张图片

查询所有储存过程

语法

show procedure status;

代码实现
#查询存储过程
show procedure status;
运行结果

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第2张图片

 加入条件查询储存过程

语法

show procedure status where db='储存过程名';

代码实现
#查询带有条件的储存过程 查询名字为proc_test1的储存过程
show procedure status where Name='proc_test1';
运行结果

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第3张图片查询创建细节

查询db_test2表中的proc_test1存储过程;

代码实现
#查询创建细节
show create procedure db_test2.proc_test1;
运行结果

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第4张图片2.修改储存过程

修改储存过程指的是修改存储过程的特征/特性

语法

alter procedure 储存过程名 特征1 [特征2 特征3……];

存储过程的特征参数

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第5张图片

案例 

代码实现
#修改储存过程
alter procedure proc_test1 reads sql data;
运行结果
Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第6张图片

3.删除储存过程

语法

drop procedure 储存过程名;

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第7张图片

案例

代码实现
#删除储存过程
drop procedure proc_test1;
运行结果

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第8张图片

修改结果
Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第9张图片

游标:拼接查询结果

问题:如果我们要创建一个存储过程,需要返回查询语句查询到的多条数据

游标的概念

游标可以用来依次取出查询结果集中的每一条数据——逐条读取查询结果集中的记录

游标的作用

在储存过程中查询多条语句

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第10张图片

游标的使用步骤

查询表中的多个记录逐条返回所有记录

1.声明游标语法:

关键字:cursor

游标配合查询语句

declare 游标名字 cursor for 某个查询结果/查询条件;Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第11张图片2.打开游标

关键字:open

oppen 游标名字;

3.使用游标

关键字:fetch

游标名字 into 数据放到的变量中

案例

创建储存过程

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第12张图片

代码实现
#创建储存过程
create  procedure proc_test13(out result varchar(200))
begin
	#游标变量
	declare cid int;
	declare cname varchar(20);
	#定义计数变量
	declare num int;
	declare i int;
	#定义存储每条数据的变量
	declare str varchar(100);
	#定义游标
	#查询语句执行之后返回一个结果集(多条记录),使用游标遍历查询结果
	#游标的作用:可以把当前查询到的所有数据变成一个结果集,游标会记录每一项数据
	#在使用前先定义游标,记录总数据量打开游标进行遍历
	declare mycursor cursor for 
		select class_id,name from classes c ;
	#记录总数据量
	select count(*) into num from classes c ;
	#打开游标
	open mycursor;
	set i=0;
	#开始遍历
	while i
运行结果

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第13张图片

调用储存过程

代码实现
#调用储存过程
set @r = '';
call proc_test13(@r);
select @r from dual;
运行结果

Mysql数据库 11.SQL语言 储存过程 下 储存过程管理和游标_第14张图片

数据被拼接在一起

游标的作用:将表中多个数据拼接在一起进行查询

你可能感兴趣的:(Mysql数据库,数据库,mysql)