一、存储过程

  一组预先编译好的SQL语句的集合,理解成批处理语句,是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。

  存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。

  存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用

二、优点

  (1)提高代码的重用性。

  (2)简化操作

  (3)减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率。

三、创建

CREATE PROCEDURE 存储过程名(参数列表)
BEGIN

    存储过程体(一组合法的SQL语句)

END

注意:

  (1)参数列表包含三部分:

    1)参数模式,(2)参数名,(3)参数类型

    参数模式分为3种:

    1)IN:该参数可以作为输入,也就是该参数需要调用方传入值

    2)OUT:该参数可以作为输出,也就是该参数可以作为返回值。

    3)INOUT:给参数既可以作为输入又可以作为输出,也就是该参数既可以传入值,也可以返回值。

  (2)如果存储过程体仅仅只有一句话,BEGIN、END可以省略。

  (3)存储过程体中的每条SQL语句的结尾要求必须加分号。

  (4)存储过程的结尾可以使用DELIMITER重新设置

    语法:DELIMITER  结束标记

四、调用

  CALL 存储过程名(实参列表);

五、案例

  在test数据库下account表中插入五条记录,把这个业务生成一个存储过程,然后调用。

DELIMITER $
CREATE PROCEDURE myp1()
BEGIN
			    INSERT INTO account(username,balance)VALUES('111',1000),('222',2000),('333',3000),('444',4000),('555',5000);
END $

在DOS框中mysql模式下执行上面语句,去创建一个存储过程,如下:

mysql 存储过程 数据集 mysql 存储过程 集合_存储过程

然后我们可以看到test数据库底下Functions中多了一个myp1

mysql 存储过程 数据集 mysql 存储过程 集合_存储过程_02

 

 

 

然后接着在DOS框中去调用这个存储过程,

mysql 存储过程 数据集 mysql 存储过程 集合_mysql 存储过程 数据集_03

 

 

5行记录就会插入到数据库。

 

mysql 存储过程 数据集 mysql 存储过程 集合_mysql 存储过程 数据集_04

 

111