存储过程-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) 复用性。一次创建,满足需求的情况下可以随便使用;