第5章MySQL函数和存储过程
课程名称
MySQL数据库应用实战教程(慕课版)
项目名称
MySQL函数和存储过程
任务名称
MySQL函数和存储过程
课时
4
项目性质
□演示性    □验证性    □设计性    √综合性
授课班级
授课日期
授课地点
教学目标
能力目标:
1. 具备使用MySQL函数的能力
2. 具备使用存储过程的能力
知识目标:
1.掌握MySQL流程控制函数
2.掌握MySQL常用函数
3.掌握自定义函数
4.  掌握存储过程
素质目标:
1. 培养学生信息搜集能力
2. 培养学生团结合作、互帮互助的能力
教学内容
1. MySQL流程控制函数
2.MySQL常用函数
3.自定义函数
4.  存储过程
5.教师讲解本任务涉及的知识点
6. 小结与实训
教学重点
存储过程
教学难点
自定义函数和存储过程的区别
教学准备
1. 装有Windows 7系统的电脑
2. 教学课件PPT
3. 教材:《MySQL数据库应用实战教程(慕课版)》刘刚  苑超影 人民邮电出版社
作业设计
使用流程控制函数来完成。
(1)判断年龄大于18岁时,输出成年,否则输出未成年。
(2)判断年龄为NULL时,输出默认值为0。
(3)判断用户名name和登录名loginName是否相等,相等则返回NULL,否则返回用户。
(4)判断性别为女时,输出女生;判断性别为男时,输出男生。
教学过程
字符串函数教程
教学
环节
教学内容与过程
(教学内容、教学方法、组织形式、教学手段)
课前组织
做好课前“5分钟”教学管理(多媒体、实训室),做好上课前的各项准备工作(打开电脑、打开课件、打开软件、打开U盘中的素材位置、打开授课计划、教案等),吸引学生注意力。
课程
说明
【课前说明】
分别从MySQL函数和存储过程两个方面来进行初步的了解。
【目的】
使学生从了解本单元的学习目标、学习重点、考评方式等方面明确学习本单元知识的要求和目标。
课程
内容
描述
一、MySQL流程控制函数
My S Q L流程控制函数用于控制SQL语句中实现条件的选择,它包括以下4个函数。
(1)IF函数。
IF(expr1,expr2,expr3):如果expr1是真, 返回expr2, 否则返回expr3;
SELECT name,IF(age>18,'成年','未成年') FROM user;
(2)IFNULL函数。
IFNULL(expr1,expr2) :如果expr1不是NULL,返回expr1,否则返回expr2;
SELECT name,IFNULL(age,0) FROM user;
(3)NULLIF函数。
NULLIF(expr1,expr2) :如果expr1 = expr2 成立,返回值为NULL,否则返回值为expr1;
SELECT name,NULLIF(name,loginName) FROM user;
(4)CASE函数。
CASE[expr] WHEN [value] THEN[result]… ELSE[default] END :如果value是真, 返回result,否则返回default;
SELECT name, CASE sex WHEN '女' THEN '女生' WHEN '男' THEN '男生' ELSE '未知' END as result FROM user;
二、MySQL常用函数
1. 数学函数
数学函数主要用来处理与数字有关的函数,包括整数、浮点数等数学操作。
常用的数学函数如下。
(1)CEILING(x):返回大于x的最小整数值,它是向上取整。
(2)FLOOR(x):返回小于x的最大整数值,它是向下取整。
(3)ROUND(x,y):返回参数x的四舍五入的有y位小数的值,进行四舍五入,保留y位小数。
(4)TRUNCATE(x,y):返回数字x截短为y位小数的结果,不进行四舍五入,直接保留y位小数。(5)MOD(x,y):返回x/y的模,也是取余数,和x%y是等价的。
2. 字符串函数
字符串函数是对字符以及字符串进行的一系列操作。
常用的字符串函数如下。
(1)LENGTH(str): 获取字符串的长度。
(2)LOWER(str)、UPPER(str):进行大小写字母的转换。
(3)STRCMP(s1,s2) :比较两个字符串的大小(开头字母的顺序)hello>yes:1 hello<yes:-1 等于: 0。
(4)REPLACE(s,s1,s2):替换字符串。
(5)CONCAT(s1,s2,...,sn):合并拼接字符串。
(6)CONCAT_WS(sep,s1,s2,...,sn):使用分隔符合并拼接字符串。
(7)LTRIM(str)、RTRIM(str)、TRIM(str):去除空格。
(8)SUBSTRING(s,n,len):截取字符串。
3. 日期和时间函数
通过日期和时间函数可以获取当前日期、当前时间、年份、月份、天、小时等关于日期的函数。
常用的日期和时间函数如下。
(1)NOW():当前日期和时间,如2017-11-29 23:21:19。
(2)CURDATE():当前日期,如2017-11-29。
(3)CURTIME():当前时间,如23:22:49。
(4)YEAR(d):提取日期中的年份,如YEAR('2017-11-30')。
(5)MONTH(d):提取日期中的月份,如MONTH('20170819')。
(6)DAYOFYEAR(d):提取日期里一年中的第几天,如DAYOFYEAR('2017-11-30')。
(7)DAYOFWEEK(d):提取日期里一星期中的第几天,如DAYOFWEEK ('2017-11-30')。
(8)HOUR(d) :提取时间中的小时,如HOUR('11:20')。
(9)MINUTE(d) :提取时间中的分钟,如MINUTE ('11:30')。
(10)SECOND(d) :提取时间中的秒数,如SECOND ('11:30:59')。
(11)D A T E_A D D() :向后推时间。
(12)DATE_SUB() :向前推时间。
4. 系统信息函数
通过系统信息函数可以获取数据库的版本号、服务器的连接数、当前数据库名、当前用户、字符串的编码集
5. 加密函数
加密函数是MySQL用来对数据进行加密的函数,以保护数据的安全。
6. 格式化函数
MySQL数据库提供了一些格式化函数,它们可以用来格式化日期、时间、浮点数、IP地址。
三、自定义函数
1. 函数的基本语法
创建自定义函数、查看自定义函数、调用自定义函数、修改自定义函数。
2.创建不带参数的自定义函数
3. 创建带参数的自定义函数
四、存储过程
存储过程是完成特定功能的SQL语句集,经编译后存储在数据库中,在使用的时候直接调用存储过程来执行就可以,省略了语法校验、编译的过程,大大提高了SQL语句的执行效率。
1.存储过程的基本语法
创建存储过程、查看存储过程、调用存储过程、修改存储过程。
2.创建不带参数的存储过程
3. 创建带有IN类型参数的存储过程
4.创建带有INOUT类型参数的存储过程
5.创建带有多个OUT类型参数的存储过程
6.创建带有INOUT类型参数的存储过程
7.创建IF语句的存储过程
8.创建CASE语句的存储过程
9.创建while循环语句的存储过程
五、自定义函数和存储过程的区别
自定义函数可以作为内置函数的扩展使用,针对性比较强,作为SQL语句的一部分来使用,并且只有一个返回值;存储过程是为了解决复杂的SQL语句或业务逻辑,预编译保存在数据库中,使用的时候直接从数据库中调用,这样可以提高执行效率,它可以有多个返回值,可以独立运行,同时它可以降低网络的数据传输量。
课堂
实训
同步训练:
使用数学函数操作12.6向上取整,27.4向下取整,54 362.879 2四舍五入、保留2位小数,678.347 8不四舍五入、保留2位小数,35取余数。
总结
评价
本章主要讲述了MySQL函数和存储过程的使用。通过学习,学生要掌握流程控制函数的使用、MySQL内置函数的使用;学会如何自定义函数、创建不带参数的自定义函数、创建带参数的自定义函数;学会存储过程的使用及创建存储过程,理解IN、OUT、INOUT参数类型的含义以及其参数的传递,同时要学会IF、CASE、while语句在存储过程中的使用;最后了解自定义函数和存储过程的区别,理解其使用场景。
本节课主要运用案例教学法,通过对MySQL函数和存储过程的理解,达到能够独立熟练运用MySQL函数和存储过程来解决实际问题的能力。教学评价方式以小组为单位,以完成案例的质量为评价标准,形成任务驱动,小组协作,质量与速度并存的课堂评价方式 ,促进学生的自主、创新学习的方式 。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。