MySQL进阶——存储过程(一)

目录

介绍与特点

特点:

基本语法

创建

调用

查看

删除

案例

在命令行中使用(delimiter)

注意:

变量-系统变量

查看系统变量​编辑

设置系统变量​编辑

注意:

变量-用户定义变量

赋值​编辑​编辑

使用​编辑

变量-局部变量

声明​编辑

赋值​编辑

if判断

语法:

练习:​编辑

参数(IN、OUT、INOUT)

用法:

练习:

case

语法一:​编辑

语法二:​编辑

练习:


介绍与特点

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

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

特点:

封装,复用,可以接收参数,也可以返回数据,减少网络交互,效率提升

基本语法

创建

调用

查看

删除

案例

在命令行中使用(delimiter)

粘贴上面的创建存储过程语句后报错,以分号结尾

注意:

在命令行中,执行创建存储过程的SQL时,需要通过关键字delimiter指定SQL语句的结束符

以&&符结尾再次测试:

 创建成功!使用完后记得换回分号

变量-系统变量

系统变量是MySQL服务器提供的,不是用户定义的,属于服务器层面。分为全局变量(GLOBAL)、会话变量(SESSION)。

查看系统变量

设置系统变量

注意:

如果没有指定session/global,默认是session,会话变量。

mysql服务重新启动之后,所设置的全局参数会失效,要想不失效,可以在/etc/my.cnf中配置

变量-用户定义变量

用户定义变量是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接用“@变量名”使用就可以。其作用域为当前连接!

赋值

使用

 

注意:用户定义的变量无需对其进行声明或初始化,只不过获取到的值为null。

变量-局部变量

局部变量是根据需要定义的在局部生效的变量,访问之前,需要declare声明,可用作存储过程内的局部变量和输入参数,局部变量的范围是在其声明的begin...end块。

声明

变量类型就是数据库字段类型:int,bigint,char,varchar,date,time等

赋值

 

 注意局部变量的使用范围仅在begin与end之间!

if判断

语法:

 练习:

 参数(IN、OUT、INOUT)

 用法:

 练习:

定义存储过程,完成如下需求:

 

 

case

语法一:

语法二:

练习:

定义存储过程,完成如下需求:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值