第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.创建带有IN和OUT类型参数的存储过程 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位小数,3对5取余数。 |
总结 评价 | 本章主要讲述了MySQL函数和存储过程的使用。通过学习,学生要掌握流程控制函数的使用、MySQL内置函数的使用;学会如何自定义函数、创建不带参数的自定义函数、创建带参数的自定义函数;学会存储过程的使用及创建存储过程,理解IN、OUT、INOUT参数类型的含义以及其参数的传递,同时要学会IF、CASE、while语句在存储过程中的使用;最后了解自定义函数和存储过程的区别,理解其使用场景。 本节课主要运用案例教学法,通过对MySQL函数和存储过程的理解,达到能够独立熟练运用MySQL函数和存储过程来解决实际问题的能力。教学评价方式以小组为单位,以完成案例的质量为评价标准,形成任务驱动,小组协作,质量与速度并存的课堂评价方式 ,促进学生的自主、创新学习的方式 。 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论