mysql存储过程是:
1、什么是存储过程
存储过程(stored procedure)是在大型数据库系统中,一组为了完成特定功能的sql 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
2、创建存储过程
格式:
delimiter $$ create procedure `procedurename`(paramname paramtype) begin end$$ delimiter ;
红色字体解释:
-
procedurename:你要创建的存储过程名称
-
paramname:参数名称
-
paramtype:参数类型
注:
(1) 存储过程是否需要参数根据实际情况而定(括号内容可不填);
(2) mysql从5.0开始支持存储过程;
(3) delimiter 和 delimiter ; 是分隔符的意思,它们的作用就是让编译器知道它们里面的内容是存储过程的,如果不写这两部分,则编译器会将这段代码当作普通的sql执行;
(4) begin 和 end 之间就是存储过程的内容,我们的sql都是在这中间编写;
3、存储过程的优缺点
(1) 执行速度快。由于存储过程已经预编译了,使用的时候直接跳过编译部分,所以执行速度会变快;
(2) 减少网络流量。使用存储过程的时候只需要调用存储过程的方法即可,相对于sql语句存储过程的方法名更短,网络传输调用存储过程的语句,减少了网络流量;
(3) 复用性。一次创建,满足需求的情况下可以随便使用;