MySQL数据库-存储过程基本语法

爱丽思 25天前 ⋅ 109 阅读

特点

封装、复用。

可以接收参数,也可以返回数据。

减少网络交互,效率提升。


创建存储过程

创建语法

CREATE PROCEDURE 存储过程名称[(参数列表)]
BEGIN
    -- SQL语句,可以是一条和多条SQL语句;
    
END;

例子:统计学生人数总数的存储过程

CREATE  PROCEDURE COUNT_STU()
BEGIN
  select count(*) FROM table_stu;
END;

调用存储过程

调用语法

CALL 存储过程名称([参数])

例子:调用统计学生总数存储过程

call COUNT_STU();

查看储存过程

方式一:

select * FROM INFORMATION_SCHEMA.ROUTINES where ROUTINE_SCHEMA = '存储过程名称';

例子:

select * FROM INFORMATION_SCHEMA.ROUTINES where ROUTINE_SCHEMA = 'COUNT_STU';

方式二:注意存储过程名称直接写即可,不需要用单引号''包裹

show create procedure 存储过程名称;

例子:

show create procedure COUNT_STU;

删除存储过程

语法

DROP PROCEDURE [IF EXISTS] 存储过程名称;

MySQL自定义SQL结束符

将 $$ 设置为SQL结束符

delimiter $$

例子:在命令行中执行创建存储过程的时候将结束符改为$$,这样子可以解决当SQL执行到第三行的时候遇到 ; 系统认为是SQL结束导致的语法错误问题。

CREATE  PROCEDURE COUNT_STU()
BEGIN
  select count(*) FROM table_stu;
END$$