当前课程知识点:MySQL数据库案例教程 > 第5章 高级操作 > 5.4 存储过程 > 5-4存储过程视频
同学们好
我们今天继续学习第五章的内容
存储过程
我们首先介绍存储过程的概念
然后对其语法进行讲解
最后是案例分析与实践操作
通过本章前两节的学习
我们已经讲解了函数的概念
与其使用方法
我们知道
函数是一组预先编译好的sql语句的集合
存储过程的定义呢
与函数类似
也是一组预先编译好的sql语句的集合
除了定义相似外
存储过程与函数的优点也是相似的
同学们可以回忆一下我们第一节课讲的内容
至于存储过程与函数的区别
我们将在本节最后进行总结
我们首先来看一下存储过程的语法
创建存储过程的语法
是create procedure
我们可以看到
创建存储过程的语法与创建函数的语法类似
在这里我们需要着重介绍的是参数的类型
我们在定义函数的参数时
需要声明参数的数据类型与参数的名称
但是在这里
参数还有一个特殊的属性
就是参数的类型
参数的类型分为三类
IN类型为输入型参数
需要在调用存储过程的时候给出
OUT类型为输出型参数
存储过程运行后的返回值
就是从OUT类型的参数得到的
INOUT类型为输入输出型参数
这种参数比较特殊
它既需要在调用存储过程时给出
同时也是存储过程运行后的返回值
此外
不声明参数类型的参数默认为是IN类型的
参数类型
调用存储过程的语法为
call
存储过程的名称如果有IN类型的参数
则需要在存储过程名后给出参数
删除存储过程的语法为
drop存储过程的名称
查询存储过程的语法为
show create procedure
下面
我们将通过三个案例讲解存储过程的声明
以及使用方法
请大家注意其中参数类型的作用
【案例1】
创建一个存储过程
要求将下述数据录入到course表中
这是一个无参数的存储过程
存储过程的程序体内
包含insert插入语句
我们将给出的数据插入表格即可
我们来看具体操作
与创建自定义函数的过程类似
我们首先需要更改分隔符
接着是创建存储过程的关键字
create procedure
之后是存储过程名
由于本例的存储过程没有参数
所以存储过程名后的括号内是空的
然后是begin与end
以及中间的存储过程的语句体
【案例2】
创建一个存储过程
输入不同的课程编号
返回表score中相应课程
result列的平均值
要求返回值为int类型
这个案例
与我们在讲解自定义函数时
案例相似的
通过这一案例
我们可以对比存储过程
与自定义函数在使用上的不同
这是一个有参数的存储过程
课程的编号(cno) 是我们的参数
参数类型为IN
返回平均值的参数它的类型是OUT
存储过程程序体包含查询语句
我们需要根据课程编号计算其平均值
我们来看具体的操作
我们首先需要更改分隔符
接着是创建存储过程的关键字
create procedure
之后呢是存储过程的名称
由于本例的存储过程需要参数
存储过程名后的括号内声明参数的名称
以及数据类型
然后呢是begin与end以及其中的
存储过程的语句体
【案例3】
创建一个存储过程
要求输入一个正整数
返回其自身的2倍
这是一个有输入和输出的存储过程
我们可以定义两个参数
分别为IN和OUT型
因为计算的是输入参数的2倍
我们假设参数为a
那么我们只需要使用a=2*a
这样一个公式计算即可
此时呢参数a既是输入也是输出
因此我们只需要定义一个参数即可
此参数的类型为INOUT类型
我们来看具体的操作
案例三与案例二类似
都是带有参数的存储过程
通过本节课的学习
我们将存储过程与函数的区别总结如下
存储过程的关键字是procedure
调用时使用的是call
返回值可以有也可以是多个
存储过程一般用于执行比较复杂的过程体
更新、创建等等的语句
函数的关键字为function
返回值必须有一个
调用使用select
函数一般用于计算或者查询单个值并返回
在本小节中
我们首先介绍了与函数相似的存储过程的相关概念
接着
我们通过不同的案例
讲解了存储过程的语法
演示了存储过程的使用
本节课中
同学们
还需要着重了解存储过程与函数的区别
在实际应用当中
选择合适的数据库对象进行操作
本次课就讲到这里
谢谢
再见
-1.1 数据库基础知识
-1.2 MySQL的安装与运行
-第1章 测试
-2.1 数据库的基本操作
-2.2 表的基本操作
-2.3 MySQL数据类型
-2.4 约束设置
-2.5 索引
--2-5索引视频
--2-5索引课件
--2-5索引实训
-第2章测试
-3.1 插入记录
-3.2 修改记录
-3.3 删除记录
--3.3删除记录
-第3章 测试
-4.1 select语句
-4.2 单表查询
-4.3 多表查询
-4.4 子查询
--4-4子查询课件
--4-4子查询实训
-4.5 外键
--4-5外键视频
--4-5外键课件
--4-5外键实训
-4.6 视图
--4-6视图视频1
--4-6视图视频2
--4-6视图课件
--4-6视图实训
-第4章测试
-5.1 函数
--5-1系统函数
--5-1函数课件
--5-1 函数实训
-5.2 流程控制语句
-5.3 事务与游标
-5.4 存储过程
-5.5 触发器
--5-5触发器视频
--5-5触发器课件
--5-5触发器实训
-第5章测试
-6.1 数据库备份与还原
-6.2 异构数据源导入导出
-第6章测试
-7.1 用户管理
-7.2 权限管理
-7.3 应用实例开发
-第7章测试