定义:是一组为了完成特定功能的sql语句集。目的是将常用或复杂的工作预先编译为sql语句,并用指定的名称储存起来,这个过程经编译和优化后储存在数据库服务器中,所以称为储存过程。
 
1.查看数据库中的储存过程
 
show procedure status;(不可以看到存储过程的内部代码)
 
select * from mysql.proc;   
 
select * from mysql.proc where db="databaseName";
 
select name from mysql.proc;(只查看储存过程的名字)
 
2.删除数据库中的储存过程
 
drop procedure  procedureName;
 
3.创建储存过程
 
delimiter // --使用\s可以看到数据库中默认并且在使用的结束符号为什么,在这里是转换
 
create procedure procedureName([in/out/inout] 参数 type[数据库中的数据类型])
 
begin
 
------储存过程的方法体,
 
------1.储存过程中可以有sql语句
 
------2.in是是可以传参数进去,但是不能传参数出来。
 
-----3.out是可以从里面把参数传出来(并改变外部相应局部变量),不能从外面传进去。
 
-----4.既可以将参数传进去,也可以将参数从里面传出来(并改变外部相应局部变量)。
 
end
 
//
 
delimiter ;
 
(为了方便在数据库中对sql对操作将结束标识符转换回来)
 
4.储存过程的调用
 
call procedureName(参数);