mysql——存储过程简介



什么是存储过程?


是存储在数据库服务器的一组sql语句,通过在查询中调用某个指定的名称来执行,类似于封装了一组命令的函数


为什么要使用存储过程?


优点:


一致性:不同的语言开发完成相同的数据库操作写入存储过程就可以减少重复代码(可重用)


高性能:在团队开发中如果很有经验的员工来进行存储过程的编写,就可以很好的提高效率


安全性:有一些特定的开发要求权限控制,使用存储过程就能够确保开发人员只能访问任务所必须的信息


架构性:使用存储过程和数据层进行操作可以进一步增强大型应用应用程序的管理性


缺点:


从性能上来说,会消耗额外的内存资源


从功能上来说,使用其他语言来构建存储过程会更方便,如:php


从维护性上来说,更换数据库服务器(sqlserver、mysql、orale、redis、mongodb...)会出现移植性的问题


如何创建存储过程?


存储过程和存储函数合称为存储例程


存储过程:支持增删改查等sql命令还可以设置能在程序外引用的参数


存储函数:只支持查询命令的执行,只接受输入参数,并且必须要返回一个值


创建存储过程的结构:


create procedure 存储过程名(参数)


SQL语言


存储存储函数的结构:


create function 存储函数名(参数)


return type---返回类型


SQL语句


存储过程中的参数:


in 只用来向存储过程传递信息


out 只用来从存储过程传回信息


inout 可以向存储过程传递信息,如果值改变,则可以再从存储外调用


声明和设置变量


声明变量:declare 变量名 变量类型[默认值]


设置变量:set 变量名=值[,变量名=值]


 select 列名 into 变量名 from 表名 where 条件


执行存储过程


call 存储过程名(参数)


创建多条语句的存储过程


begin和end语句块


条件


if-elseif-else和case


语法结构:


if 条件 then 语句


elseif 条件 then 语句


else 语句


end if




case


when 条件 then 语句


when 条件 then 语句


...


else 语句


end case


迭代


iterate、leave、loop、repeat


leave类似于java中的break语句


语法结构:


loop类似于for循环


[begin_lable:]loop


执行语句


end loop[end_lable]


repeat类似于do-while循环


[begin_lable:]repeat


执行语句


until 条件


end repeat[end_lable]


while语句


[begin_lable:]while 条件 do


执行语句


end while[end_lable]


修改存储过程


alter (procedure|function) 过程(函数)名 修改的内容


删除存储过程


drop (procedure|function)[if exists] 过程(函数)名
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值