项目九 任务四 存储函数(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂

2025-01-21
| 27页
| 278人阅读
| 2人下载
精品

内容正文:

9.4 MySQL的数据库编程 ----存储函数 数据库原理与应用技术--MySQL 同步精品课堂 河北科学技术出版社 教学目标 一 了解存储函数的概念 教学目标 掌握存储函数的调用、删除命令 掌握存储函数的创建与修改命令 了解存储函数的作用 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 教学重难点 二 教学难点 1、存储函数与存储过程的区别 2、存储函数的相关命令 教学重点 存储函数的相关命令的应用 教学难点 导入新课 三 讨论: 存储函数是用户自定义的,内部函数是MySQL是开发者定义的,用户在定义好存储函数后,应该如何调用呢,又是如何修改的呢? 任务一 1 创建存储函数 新知讲授 四 ⊙创建存储函数 ➽创建存储函数 基本语法形式如下: CREATE FUNCTION <函数名> ([参数名 数据类型[,....]]) RETURNS <返回类型> BEGIN <过程体> END 新知讲授 四 ⊙创建存储函数 ➽实例:创建存储函数add_fun,参数定义为空,该函数查询学号为“20220101”的学生的地址。 MySQL语句如下: CREATE FUNCTION add_fun( ) RETURNS varchar(255) BEGIN RETURN( SELECT Address FROM student WHERE StuID=’20220101’ ); END 任务二 1 调用存储函数 新知讲授 四 ⊙调用存储函数 ➽调用存储函数 基本语法形式如下: SELECT <函数名 (实参数名)> 说明: 存储函数的调用方法与MySQL内部函数的调用方法是一样的,用户自己定义的存储函数与MySQL内部函数是一个性质的。 新知讲授 四 ⊙调用存储函数 ➽实例:创建存储函数agecount_fun()函数,参数传入age,该函数查询相应年龄的学生数量并返回数据类型为整型。 MySQL语句如下: CREATE FUNCTION agecount_fun(age INT ) RETURNS INT BEGIN RETURN( SELECT count(*)FROM student WHERE Stuage=age); END 调用存储函数:SELECT agecount_fun(16) 任务三 1 查看存储函数 新知讲授 四 ⊙查看存储函数 ➽1、使用SHOW STATUS语句查看存储函数的状态 基本语法形式如下: SHOW FUNCTION STATUS [ LIKE <函数名 >] ➽ 2、使用SHOW CREATE语句查看存储函数的定义 基本语法形式如下: SHOW CREATE FUNCTION <函数名> 新知讲授 四 ⊙查看存储函数 ➽ 3、从information_schema.Routines表中查看存储函数信息 基本语法形式如下: SELECT * FROM information_schema.Routines WHERE ROUTINE_NAME=’数据库名’; ➽ 实例:从information_schema.Routines表中查看存储函数add_fun的信息 MySQL语句如下: SELECT * FROM information_schema.Routines WHERE ROUTINE_NAME=’add_fun’; 任务四 1 修改存储函数 新知讲授 四 ⊙修改存储函数 ➽ 修改存储函数 基本语法形式如下: ALTER FUNCTION <函数名> [characteristic ....] 说明:其中characteristic参数指定存储函数的特性,可能取值有: 1、CONTAINS SQL:子程序包含SQL语句,但不包含读或写数据的语句; 2、NO SQL: 子程序不包含SQL语句; 3、READS SQL DATA :子程序包含读数据的语句; 4、MODIFIES SQL DATA:子程序包含写数据的语句; 5、SQL SECURITY{DEFINER | INVOKER}:指明谁有权执行; 新知讲授 四 ⊙修改存储函数 ➽实例:修改存储函数add_fun的定义,将读写权限改为READS SQL DATA,并加上注释信息“FIND ADDRESS” MySQL语句如下: ALTER FUNCTION add_fun READS SQL DATA COMMENT ‘FIND ADDRESS’ 任务五 1 删除存储函数 新知讲授 四 ⊙删除存储函数 ➽ 删除存储函数 基本语法形式如下: DROP FUNCTION <IF EXISTS> [ 函数名 ] ➽ 实例:删除存储函数 add_fun。 MySQL语句如下: DROP FUNCTION IF EXISTS add_fun; 师生互动 五 1、总结存储函数的创建、调用、查看等命令。 2、总结存储函数与存储过程在实际应用中的不同。 讨论 随堂练习 六 1、 关于存储函数与内部函数的主要区别是( ) A.存储函数是用户自定义的,而内部函数是MySQL的开发者定义的 B.存储函数是MySQL的开发者定义的,而内部函数是用户自定义的 C.存储函数和内部函数都是是用户自定义的 D.存储函数和内部函数都是MySQL的开发者定义的 【答案】A 【解析】存储函数是用户自定义的,内部函数是由MySQL的开发者定义的 随堂练习 六 2、下列选项中,用于创建存储函数的命令是( ) A.CREATE PROCEDURE B.CREATE FUNCTION C. CREATE TABLE D. CREATE TRIGGER 【答案】B 【解析】创建存储函数的命令为:CREATE FUNCTION 随堂练习 六 3、存储函数的主体部分的开始和结束语句用( )表示。 A.START和FINISH B.BEGIN和END C.OPEN和CLOSE D.FUNCTION和ENDFUNCTION 【答案】B 【解析】BEGIN和END用于表示存储函数体主体部分的开始和结束。 随堂练习 六 4、存储函数可以返回的数据类型是( ) A.只能是整数 B.只能是布尔类型 C.只能是字符串类型 D.任意数据类型 【答案】D 【解析】存储函数可以返回任意数据类型。 随堂练习 六 5、一个存储函数必须包含一个RETURNS语句。( ) 【答案】对。RETURNS子句声明返回值类型只能在存储函数中使用,且一个存储函数必须包含一个RETURNS语句。 6、 删除存储过程和存储函数的命令是一样的。( ) 【答案】错。删除存储过程的命令为DROP PROCEDURE IF EXISTS 存储过程名,而删除存储函数的命令是DROP FUNCTION IF EXISTS 存储函数名。 随堂练习 六 7、查看存储函数order_fun的定义___________。 【答案】SHOW CREATE FUNCTION order_fun 8、 删除存储函数order_fun的命令是__________。 【答案】DROP FUNCTION IF EXISTS order_fun 课堂小结 七 谢谢 $$

资源预览图

项目九 任务四 存储函数(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
1
项目九 任务四 存储函数(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
2
项目九 任务四 存储函数(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
3
项目九 任务四 存储函数(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
4
项目九 任务四 存储函数(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
5
项目九 任务四 存储函数(课件)-《数据库原理与应用技术--MySQL》(河北科学技术出版社)同步精品课堂
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。