mysql 存储过程、函数

1.1存储过程、函数介绍

- 存储过程和函数区别:存储过程没有返回值,而函数必须有;存储过程的参数可以使用IN,OUT,INOUT类型,而函数的参数只能是IN类型。
- 存储过程特点
  - 能完成较复杂的判断和运算,而且处理逻辑都封装在数据库端,调用者不需要自己处理业务逻辑,一旦逻辑发生变化,只需要修改存储过程即可,而对调用者程序完全没有影响。
  - 可编程性强,灵活
  - SQL编程的代码可重复使用
  - 执行速度相对快一些
  - 减少网络之间数据传输,节省开销

1.2创建存储过程

-     -- 创建存储过程
      DELIMITER $$
      CREATE PROCEDURE testa()
      BEGIN
      SELECT * FROM student WHERE id=2;
      END $$
      -- 调用存储过程
      call testa();



1.3存储过程/函数的查、删

- 查
      -- 查看存储过程或者函数的状态
      SHOW PROCEDURE STATUS LIKE 'testa';
      -- 查看存储过程或者函数的定义
      SHOW CREATE PROCEDURE testa
- 删
      -- 删除存储过程
      DROP PROCEDURE testa1;
      -- 删除函数
      DROP FUNCTION testa1;

1.4存储过程的变量

- 需求: 编写存储过程,使用变量取id=2的用户名;变量my_uname
      DELIMITER $$
      CREATE PROCEDURE testa3()
      BEGIN
      -- 1.变量的声明使用declare,一句declare只声明一个变量,变量必须先声明后使用
      -- 2.变量具有数据类型和长度,与mysql的SQL数据类型保持一致,因此甚至还能指定默认值、字符集和排序规则等
      DECLARE my_uname VARCHAR(32) DEFAULT '';
      -- 3.变量可以通过set来赋值,也可以通过select into的方式赋值
      SET my_uname='itheima';
      SELECT NAME INTO my_uname FROM student WHER

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值