【辫儿哥大白话】到底什么是Mysql存储过程? —— 基础补脑篇

本文适合对Mysql有基本基础的童鞋食用,配合Mysql手册研究,基础实践效果更佳~
个人整理,心得体会,欢迎讨论指导.

这同志们在执行一些特殊重复性的sql语句的时候啊,需要频繁操作一大段的sql文件进行反复编辑。哥们前一阵就遇到一个某智慧消防设备心跳数据,大概每次操作都需要读取好多固定的sql进行操作,诶亚这就非常的烦人。这时候有人就说,封个公共类,直接用~!但是这使用太频繁了也不是个事儿,好几次sql进进出出磨磨蹭蹭来来回回…(已被和谐),非常耗费数据库资源。那么有没有一种操作,可以针对完成一段特定功能的SQL进行操作,而又集齐的节省资源呢?来来来,辩儿哥带你了解一下Mysql的“语句集”——存储过程。
在这里插入图片描述

一、什么是存储过程?

相信稍微做后端时间长一点的同学们应该都听身边的大牛们提起或者吹捧过MYSQL“存储过程”这个概念;官方给出的名词解释为:
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
但是辫儿哥这边用通俗的话翻译过来的话,存储过程就是写在MYSQL里面的方法(Function)。 它有变量,有常量,有作用范围,有判断,有循环,有函数等等等等!那这不就是一个换个地方,只针对于SQL执行发方法(Function)嘛!
在这里插入图片描述

二、编写一个简单的存储过程

哥们今天带你先写一个简简单单的存储过程,按正常的MYSQL结束定界符为" ; “分号,因为编写存储过程的过程中(真拗口…)也需要用到” ; ",所以我们使用 delimiter 命令重新定义一下系统的结束定界符:
将系统的结束定界符设置为 @@
结束之后我们正式开始创建存储过程,使用 CREATE PROCEDURE <过程名> (<参数> ) 的方式来创建(由于是简单的演示版本所以辫哥先不加传参):
在这里插入图片描述
存储过程中的执行数据库操作的sql语句部分我们称为代码块,代码块需要放在 BEGIN — END 中间,也就是数据库规定的开始结束标识中,比如我现在需要同时执行对表users中添加一条数据,同时对表goods表中也添加一条数据的操作,代码实现为:
在这里插入图片描述
记得结束时候使用定义好的 @@ 进行结束标示符,同时将系统标示符重新定义为 “ ; ”:
在这里插入图片描述
这样一来我们就完全新建了一个同时执行两条插入语句的存储过程。
在这里插入图片描述
之后我们使用 CALL <过程名> 的方式去调用一下定义好的存储过程:
在这里插入图片描述
可以看到执行成功,之后返回两个表中查看数据:
在这里插入图片描述在这里插入图片描述
如此以来我们便完成了一个最为简单的存储过程的编写!
在这里插入图片描述
本篇作用在于补充存储过程的概念与基本写法,总结以下两个主要部分:

存储过程的结构组成:
1,创建格式:CREATE PROCEDURE<过程名>。
2,包含一个以上的代码块,使用再BEGIN与END之间。
3,在命令行编写开始中要重新定义分隔符,在定义结束之后需要再定义回“;”

存储过程的特点:
1,能完成较为复杂的判断和运算。
2,可编辑性强,灵活。
3,SQL编程后的代码可以重复的使用。
4,会加快项目大规模复杂SQL的执行速度。

想继续深入学习的同学可以继续关注辫儿哥接下来的坑文,不定期无规律看心情咕咕咕佛系更新!个人整理,欢迎批评指导~。
在这里插入图片描述

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值