MySQL 存储过程和存储引擎

1. 存储过程

存储过程是 SQL 语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理。

存储过程的优点:

  • 增强 SQL 语句的功能和灵活性
  • 实现较快的执行速度
  • 减少网络流量

1.1 创建

创建存储过程语法:

CREATE [DEFINER = {
   user|CURRENT_USER}] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body

proc_parameter:[IN|OUT|INOUT] param_name type

参数
IN: 表示该参数的值必须在调用存储过程时指定;
OUT: 表示该参数的值可以被存储过程改变,并且可以返回;
INOUT: 表示该参数的值调用时指定,并且可以被改变和返回。

PS: 和创建函数类似。

过程体特点:

  • 过程体由合法的 SQL 语句组成;
  • 过程体可以是任意 SQL 语句;
  • 过程体如果为复合结构则使用 BEGIN…END 语句;
  • 复合结构可以包含声明,循环,控制结构。

例如创建一个无参的存储过程:

mysql> CREATE PROCEDURE sp1() SELECT VERSION;

这里将 SELECT VERSION; 作为一个存储过程。

1.2 调用

调用存储过程的语法:

含参:CALL sp_name([parameter[,...]])
无参:CALL sp_name[()]

例如,调用上面创建的无参存储过程 sp1:mysql> CALL sp1;

效果如下:
13

1.3 删除

删除存储过程 sp1:mysql> DROP PROCED

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值