当前课程知识点:MySQL数据库案例教程 >  第5章 高级操作 >  5.4 存储过程 >  5-4存储过程视频

返回《MySQL数据库案例教程》慕课在线视频课程列表

5-4存储过程视频在线视频

下一节:5-4存储过程课件

返回《MySQL数据库案例教程》慕课在线视频列表

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

函数一般用于计算或者查询单个值并返回

在本小节中

我们首先介绍了与函数相似的存储过程的相关概念

接着

我们通过不同的案例

讲解了存储过程的语法

演示了存储过程的使用

本节课中

同学们

还需要着重了解存储过程与函数的区别

在实际应用当中

选择合适的数据库对象进行操作

本次课就讲到这里

谢谢

再见

MySQL数据库案例教程课程列表:

第1章 数据库基础知识

-1.1 数据库基础知识

--1.1 数据库基础知识视频

--1-1数据库基础知识课件

-1.2 MySQL的安装与运行

--1-2MySQL安装与运行视频

--1-2MySQL安装与运行课件

--1-2MySQL安装与运行实训

-第1章 测试

第2章 数据库和表的基本操作

-2.1 数据库的基本操作

--2-1数据库的基本操作视频

--2-1数据库的基本操作课件

--2-1数据库的基本操作实训

-2.2 表的基本操作

--2-2表的基本操作视频

--2-2表的基本操作课件

--2-2表的基本操作实训

-2.3 MySQL数据类型

--2-3MySQL数据类型视频

--2-3MySQL数据类型课件

--2-3MySQL数据类型实训

-2.4 约束设置

--2-4约束设置视频

--2-4约束设置课件

--2-4约束设置实训

-2.5 索引

--2-5索引视频

--2-5索引课件

--2-5索引实训

-第2章测试

第3章 记录操作

-3.1 插入记录

--3-1 插入记录视频

--3-1插入记录课件

--3-1插入记录实训

-3.2 修改记录

--3-2修改记录视频

--3-2修改记录实训

--3-2修改记录课件

-3.3 删除记录

--3.3删除记录

--3-3删除记录实训

--3-3删除记录课件

-第3章 测试

第4章 查询与视图

-4.1 select语句

--4.1select 语句视频

--4-1select语句课件

--4-1select语句实训

-4.2 单表查询

--4-2-1select子句

--4-2-2where子句

--4-2-3group子句

--4-2单表查询实训

-4.3 多表查询

--4-3多表查询视频

--4-3多表查询课件

--4-3多表查询实训

-4.4 子查询

--4-4子查询视频1

--4-4子查询视频2

--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章 高级操作

-5.1 函数

--5-1自定义函数视频

--5-1系统函数

--5-1函数课件

--5-1 函数实训

-5.2 流程控制语句

--5-2流程控制语句视频

--5-2流程控制课件

--5-2流程控制实训

-5.3 事务与游标

--5-3事务与游标视频

--5-3事务与游标课件

--5.3事务与游标实训

-5.4 存储过程

--5-4存储过程视频

--5-4存储过程课件

--5-4存储过程实训

-5.5 触发器

--5-5触发器视频

--5-5触发器课件

--5-5触发器实训

-第5章测试

第6章 备份与还原

-6.1 数据库备份与还原

--6-1数据库备份与还原 视频

--6-1数据库备份与还原 课件

--6-1数据库备份与还原 实训

-6.2 异构数据源导入导出

--6-2异构数据源导入导出 视频

--6-2异构数据源导入导出 课件

--6-2异构数据源导入导出 实训

-第6章测试

第7章 用户与权限

-7.1 用户管理

--7-1用户管理 视频

--7-1用户管理 课件

--7-1用户管理 实训

-7.2 权限管理

--7.2 权限管理 视频

--7.2 权限管理 课件

--7.2 权限管理 实训

-7.3 应用实例开发

--7-3应用实例开发 视频

--7-3应用实例开发 课件

--7-3应用实例开发 实训

-第7章测试

5-4存储过程视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。