MySQL—存储过程(详细介绍与基本语法)

目录

一、存储过程——介绍

(1)基本介绍

(2)基本特点

二、存储过程——语法

(1)基本语法

创建

调用

(2)实操(创建和调用)

1、创建一个叫 "p1" 的简单存储过程。

2、调用 "p1" 存储过程 。

(3)基本语法

查看

删除

(4)实操(查看和删除)

1、第一种方法查看

2、第二种方法查看

3、删除存储过程


一、存储过程——介绍

(1)基本介绍

    存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合。调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输。对于提高数据处理的效率是有好处的。

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

    其实就是将我们的数据库的sql语句进行一个封装(变成集合),封装后进行"重用"。当业务想要调用某一块SQL语句集合,就调用对应的存储过程就行了。

(2)基本特点
  • 封装、复用
  • 在存储过程中,是可以接收参数,也可以返回数据

(解释:我们定义一个存储过程,可以给这个存储过程传入对应的请求参数。当然在我们的存储过程把业务逻辑执行完了之后,也可以给我们 "调用方" 返回对应的结果)

  • 通过存储过程,可以减少应用服务器和数据库之间的网络交互,访问效率提升。(作用)

大致了解完存储过程,就要学会如何定义、调用存储过程。

二、存储过程——语法

(1)基本语法
  • 创建

CREATE PROCEDURE 存储过程名称 ( [ 参数列表 ] )

BEGIN

          SQL语句

END;


注意

1、PROCEDURE (procedure:程序、步骤)。


2、存储过程的名称可以自由定义。


3、存储过程我们在定义的时候是可以指定它的输入参数、以及返回的参数信息。


4、begin ... end :里面就是这个存储过程里面封装的SQL语句(可以是一条或多条)。


5、所有存储过程的逻辑都是在 BEGIN ... END 之间定义的。

  • 调用

(当我们的存储过程创建好了之后,想要调用就通过一个关键字:CALL)


CALL 名称 ( [ 参数 ] );

接下来通过 DataGrip 进行操作。


(2)实操(创建和调用)
1、创建一个叫 "p1" 的简单存储过程。
-- 创建一个简单的存储过程
CREATE PROCEDURE p1 ()
BEGIN
/* 在这里面统一学生表的总记录数 */
    SELECT COUNT(*) FROM student;
end;

2、调用 "p1" 存储过程 。

(一旦调用了存储过程,就会执行封装的SQL语句的相关逻辑业务)

-- 调用存储过程
CALL p1();

(3)基本语法
查看

(查看存储过程有两种方式)

1、

  • (当前数据库服务器里面所有的存储过程的信息)
  • 是直接查看一张系统表(数据库:information_schema.routines(表) )
  • WHERE 后面是跟着限定要查询的数据库名字(哪个数据库下的存储过程)

2、

  • (查询指定的存储过程,在创建的时候的它的SQL语句是怎么样的)也就是查询某个存储过程的定义

SHOW CREATE PROCEDURE 存储过程名称;


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

接下来通过 DataGrip 进行操作。


(4)实操(查看和删除)
1、第一种方法查看
-- 查看
SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA='itcast';

2、第二种方法查看

(存储过程在创建的时候它的SQL语句)

SHOW CREATE PROCEDURE p1;

3、删除存储过程

(删除表:DROP TABLE [IF EXISTS] 表名;

(删除存储过程:DROP PROCEDURE ...

-- 删除
DROP PROCEDURE p1;

这是这一篇博客所讲的关于——存储过程的创建、调用、查看以及如何删除。

温馨提示

  • 在命令行中,执行创建存储过程的SQL时,需要通过关键字 delimiter 指定SQL语句的结束符。
  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岁岁岁平安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值