mysql 存储过程

创建

  • 语法如下
delimiter //
create procedure 存储过程名称(参数列表)
begin
sql语句
end
//
delimiter ;
  • 说明:delimiter用于设置分割符,默认为分号
  • 在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符

示例

  • 要求:创建查询过程,查询学生信息
  • step1:设置分割符
delimiter //

  

  • step2:创建存储过程
create procedure proc_stu()
begin
select * from students;
end
//

  

  • step3:还原分割符
delimiter ;

  

  • 执行效果图如下

查看

  • 所有存储过程和函数,都存储在mysql数据库下的proc表中
  • 查看表结构
desc mysql.procG;

  

  • 主要字段说明:
    • name表示名称
    • type表示类型,为存储过程、函数
    • body表示正文脚本
    • db表示属于的数据库
  • 查看python数据库的所有存储过程
select name,type,body from mysql.proc where db='python';

  





调用

  • 语法如下
call 存储过程(参数列表);

  

示例

  • 要求:调用存储过程proc_stu
call proc_stu();

  






删除

  • 语法如下
drop procedure 存储过程名称;

  

  • 说明:存储过程内部的sql语句无法修改,如果之前创建的存储过程不能满足要求,可以删除后重新创建

示例

  • 要求:删除存储过程proc_stu
drop procedure proc_stu;

  

原文地址:https://www.cnblogs.com/yoyo1216/p/10129970.html