内容正文:
《数据库原理与应用技术》教案
课 题
MySQL函数(五)
课 型
理论
课 时
1
授课班级
授课时间
授课教师
教材分析
本书内容由浅入深、循序渐进,系统地介绍了数据库技术的基础理论、基本技术和方法,具体包括数据库和数据表的操作、数据库完整性操作、数据的查询与更新、数据库编程、数据库设计等内容。
全书以模块作为教学单元,每个单元又包含若干个任务,本课题为项目三 任务四
MySQL函数(五),包含常见的日期和时间函数的讲解。
学情分析
学生已经学习了MySQL数据类型和MySQL运算符,对SQL语言有了进一步的了解,现在学习MySQL常见的函数,为以后select语句的书写打下坚实的基础。
学习目标
知识目标
认识常用日期和时间函数的格式、功能,灵活使用函数解决问题。
学习重难点
教学重点
认识常用日期和时间函数的格式、功能。
教学难点
灵活使用函数解决问题。
教学方法
讲授法,体验探究法,演示法
课前准备
课件,多媒体教学设备
教学媒体
多媒体教室
教学过程
教学环节
教师活动设计
学生活动设计
设计意图
活动一:
创设情境
生成问题
想一想?
场景:
学校图书馆需要统计不同书籍类型的借阅量,并计算每种类型的平均借阅天数。
需求:
查询每种书籍类型的借阅量。
计算每种类型的平均借阅天数。
学生小组讨论思考问题的答案
引出今日教学知识点:MySQL常用日期和时间函数的学习
激发学生学习兴趣,唤起学生强烈求知欲。
活动二:
调动思维
探究新知
日期和时间函数
MySQL 提供了丰富的日期和时间函数,可以方便地进行日期和时间的计算、格式化等操作。
CURDATE() 和 CURRENT_DATE() 都是 MySQL 中获取当前日期的函数,它们功能相同,只是语法略有区别。
CURDATE():
语法:CURDATE() (需要括号)
返回值:DATE 类型,格式为 “YYYY-MM-DD”
CURRENT_DATE:
语法:CURRENT_DATE
返回值:DATE 类型,格式为 “YYYY-MM-DD”
注意:
如果需要在列名中包含日期,可以使用 CURRENT_DATE,例如 SELECT CURRENT_DATE AS today;。
如果需要与其他日期函数结合使用,可以使用 CURDATE(),例如 SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY);。
CURTIME() 和 CURRENT_TIME() 都是 MySQL 中获取当前时间的函数,它们功能相同,只是语法略有区别。
CURTIME():
语法:CURTIME() (需要括号)
返回值:TIME 类型,格式为 “HH:MM:SS”
CURRENT_TIME:
语法:CURRENT_TIME (不需要括号)
返回值:TIME 类型,格式为 “HH:MM:SS”
区别:
CURTIME() 是函数,需要用括号括起来。
CURRENT_TIME 是一个列名,不需要括号。
如果需要在列名中包含时间,可以使用 CURRENT_TIME。
如果需要与其他时间函数结合使用,可以使用 CURTIME(),例如 SELECT TIME_TO_SEC(CURTIME());。
NOW() 是 MySQL 中的一个常用函数,用于获取当前的日期和时间,包括年、月、日、时、分、秒。
功能:
返回当前的日期和时间,包括时区和夏令时的影响。
返回值:
DATETIME 类型,格式为 “YYYY-MM-DD HH:MM:SS”
注意:
NOW() 返回的是服务器上的当前日期和时间,与客户端的时间设置无关。
如果需要获取不带时区的当前日期和时间,可以使用 UTC_TIMESTAMP() 函数。
NOW() 是一个简单而实用的函数,可以方便地获取当前的日期和时间,常用于记录日志、时间比较和时间计算等场景。
CURRENT_TIMESTAMP() 是 MySQL 中获取当前日期和时间的函数,与 NOW() 功能相同,但语法略有区别。
功能:
返回当前的日期和时间,包括时区和夏令时的影响。
返回值:
DATETIME 类型,格式为 “YYYY-MM-DD HH:MM:SS”
注意:
CURRENT_TIMESTAMP() 返回的是服务器上的当前日期和时间,与客户端的时间设置无关。
如果需要获取不带时区的当前日期和时间,可以使用 UTC_TIMESTAMP() 函数。
随机提问学生,了解常见的日期和时间函数,加强互动
激发学生强烈求知欲,巩固概念性知识点
活动三:
调动思维
探究新知
SYSDATE() 是 MySQL 中获取当前日期和时间的函数。
功能:
返回当前的日期和时间,不包括时区和夏令时的影响。
返回值:
DATETIME 类型,格式为 “YYYY-MM-DD HH:MM:SS”
与 NOW() 和 CURRENT_TIMESTAMP() 的区别:
时区和夏令时: SYSDATE() 不考虑时区和夏令时的影响,而 NOW() 和 CURRENT_TIMESTAMP() 会考虑。
返回值: SYSDATE() 和 NOW() 返回的是相同的值,但 CURRENT_TIMESTAMP() 返回的值可能会因为时区和夏令时的差异而略有不同。
LOCALTIME() 和 LOCALTIMESTAMP() 是 MySQL 中用于获取当前日期和时间的函数,与 NOW() 和 CURRENT_TIMESTAMP() 类似,但它们返回的是服务器本地时区的当前日期和时间。
LOCALTIME():
语法:LOCALTIME() (不需要括号)
返回值:TIME 类型,格式为 “HH:MM:SS”
LOCALTIMESTAMP():
语法:LOCALTIMESTAMP() (不需要括号)
返回值:DATETIME 类型,格式为 “YYYY-MM-DD HH:MM:SS”
注意:
当需要获取服务器本地时区的当前日期和时间时,可以使用 LOCALTIME() 或 LOCALTIMESTAMP()。
如果需要将时间戳转换为服务器本地时区的时间戳,可以使用这些函数。
LOCALTIME() 和 LOCALTIMESTAMP() 返回的是服务器本地时区的当前日期和时间,与客户端的时间设置无关。
如果需要获取不带时区的当前日期和时间,可以使用 UTC_TIMESTAMP() 函数。
DATE(d) 是 MySQL 中用于提取日期部分的函数,它从给定的日期时间字符串或日期时间表达式中提取日期部分。
功能:
从给定的日期时间字符串或日期时间表达式中提取日期部分。
返回值:
返回一个 DATE 类型的值,格式为 “YYYY-MM-DD”。
注意:
DATE(d) 函数只能提取日期部分,不能提取时间部分。
如果输入的 d 参数不是有效的日期时间字符串或日期时间表达式,函数将返回 NULL。
TIME(t) 是 MySQL 中用于提取时间部分的函数,它从给定的日期时间字符串或日期时间表达式中提取时间部分。
功能:
从给定的日期时间字符串或日期时间表达式中提取时间部分。
语法:
TIME(t);
其中 t 是日期时间字符串或日期时间表达式。
返回值:
返回一个 TIME 类型的值,格式为 “HH:MM:SS”。
注意:
TIME(t) 函数只能提取时间部分,不能提取日期部分。
如果输入的 t 参数不是有效的日期时间字符串或日期时间表达式,函数将返回 NULL。
带领学生深入学习常见的日期和时间函数的作用和用法,通过实际案例和定时互动,加深学生印象
通过常用的日期和时间函数案例教学,加深学生印象,培养学生自主学习的能力,掌握分析问题和解决问题的方式,发展综合思维能力。
活动三:
调动思维
探究新知
YEAR(d) 是 MySQL 中用于提取日期 d 年份部分的函数。
功能:
从日期 d 中提取年份部分。
语法:
YEAR(d);
其中 d 是日期字符串或日期表达式。
返回值:
返回一个整数,表示日期 d 的年份。
注意:
YEAR(d) 函数只能提取年份部分,不能提取月份和日。
如果输入的 d 参数不是有效的日期字符串或日期表达式,函数将返回 NULL。
MONTH(d) 是 MySQL 中用于提取日期 d 月份部分的函数。
功能:
从日期 d 中提取月份部分。
语法:
MONTH(d);
其中 d 是日期字符串或日期表达式。
返回值:
返回一个整数,表示日期 d 的月份。
注意:
MONTH(d) 函数只能提取月份部分,不能提取年份和日。
如果输入的 d 参数不是有效的日期字符串或日期表达式,函数将返回 NULL。
DAY(d) 是 MySQL 中用于提取日期 d 中日期的日部分的函数。
功能:
从日期 d 中提取日期的日部分。
语法:
DAY(d);
其中 d 是日期字符串或日期表达式。
返回值:
返回一个整数,表示日期 d 的日。
注意:
DAY(d) 函数只能提取日期中的日部分,不能提取月份和年份。
如果输入的 d 参数不是有效的日期字符串或日期表达式,函数将返回 NULL。
MONTHNAME(d) 是 MySQL 中用于获取日期 d 月份名称的函数。
功能:
返回日期 d 中的月份的英文名称。
语法:
MONTHNAME(d);
其中 d 是日期字符串或日期表达式。
返回值:
返回一个字符串,表示日期 d 的月份的英文名称。
注意:
MONTHNAME(d) 函数返回的是英文月份名称。
如果输入的 d 参数不是有效的日期字符串或日期表达式,函数将返回 NULL。
DAYNAME(d) 是 MySQL 中用于获取日期 d 中日期的英文星期名称的函数。
功能:
返回日期 d 中的星期的英文名称。
语法:
DAYNAME(d);
其中 d 是日期字符串或日期表达式。
返回值:
返回一个字符串,表示日期 d 中的星期的英文名称。
注意:
DAYNAME(d) 函数返回的是英文星期名称。
如果输入的 d 参数不是有效的日期字符串或日期表达式,函数将返回 NULL。
DAYOFYEAR(d) 是 MySQL 中用于获取日期 d 中日期的年份中的日期的函数。
功能:
返回日期 d 是一年中的第几天。
语法:
DAYOFYEAR(d);
其中 d 是日期字符串或日期表达式。
返回值:
返回一个整数,表示日期 d 是一年中的第几天。
注意:
DAYOFYEAR(d) 函数只能提取日期在一年的位置,不能提取月份和日。
如果输入的 d 参数不是有效的日期字符串或日期表达式,函数将返回 NULL。
DAYOFMONTH(d) 是 MySQL 中用于获取日期 d 中日期的月份中的日期的函数。
功能:
返回日期 d 是一月中的第几天。
语法:
DAYOFMONTH(d);
其中 d 是日期字符串或日期表达式。
返回值:
返回一个整数,表示日期 d 是一月中的第几天。
注意:
DAYOFMONTH(d) 函数只能提取日期在一月中的位置,不能提取年份和日。
如果输入的 d 参数不是有效的日期字符串或日期表达式,函数将返回 NULL。
认真学习,通过实际操作,关注走神的学生,带动学生学习
通过提问+案例演示的方式,加深学生对知识的认知
活动四:
巩固练习
素质提升
1 动手操作
练习课堂案例
2 想一想
日期和时间函数能够帮我们解决现实中的哪些问题?
小组根据问题,进行讨论和动手实操
通过小组讨论和动手操作,加深对本节课的学习认知
课堂小结
作业布置
1 一个日期 ‘2023-01-01’,以下( )函数可以返回该日期的年份。
A. YEAR(‘2023-01-01’)
B. MONTH(‘2023-01-01’)
C. DAY(‘2023-01-01’)
D. DAYOFYEAR(‘2023-01-01’)
答案:A
解析:A 选项的 YEAR 函数用于提取日期中的年份部分,返回 ‘2023’。
B 选项的 MONTH 函数用于提取日期中的月份部分,返回 ‘1’。
C 选项的 DAY 函数用于提取日期中的日部分,返回 ‘1’。
D 选项的 DAYOFYEAR 函数用于提取日期在一年的位置,返回 ‘1’。
2.有一个日期 ‘2023-01-01 12:00:00’,以下( )函数可以返回该日期的时间部分。
A. DATE(‘2023-01-01 12:00:00’)
B. TIME(‘2023-01-01 12:00:00’)
C. DAYNAME(‘2023-01-01 12:00:00’)
D. MONTHNAME(‘2023-01-01 12:00:00’)
答案: B
解析: A 选项的 DATE 函数用于提取日期中的日期部分,返回 ‘2023-01-01’。
B 选项的 TIME 函数用于提取日期中的时间部分,返回 ‘12:00:00’。
C 选项的 DAYNAME 函数用于返回日期中的星期的英文名称,返回 ‘Sunday’。
D 选项的 MONTHNAME 函数用于返回日期中的月份的英文名称,返回 ‘January’。
3 一个日期 ‘2023-01-01 12:00:00’,以下( )函数可以返回该日期是一年中的第几天。
A. DAY(‘2023-01-01 12:00:00’)
B. DAYOFYEAR(‘2023-01-01 12:00:00’)
C. MONTH(‘2023-01-01 12:00:00’)
D. YEAR(‘2023-01-01 12:00:00’)
答案:B
解析:A 选项的 DAY 函数用于提取日期中的日部分,返回 ‘1’。
B 选项的 DAYOFYEAR 函数用于提取日期在一年的位置,返回 ‘1’。
C 选项的 MONTH 函数用于提取日期中的月份部分,返回 ‘1’。
D 选项的 YEAR 函数用于提取日期中的年份部分,返回 ‘2023’。
4函数 CURRENT_TIMESTAMP() 返回当前的日期和时间,包括时区和夏令时的影响。( )
答案: 正确
解析:CURRENT_TIMESTAMP() 函数返回的是当前的日期和时间,包括时区和夏令时的影响。
5函数 LOCALTIME() 和 LOCALTIMESTAMP() 返回的是计算机本地时区的当前日期和时间。( )
答案:错误
解析: LOCALTIME() 和 LOCALTIMESTAMP() 返回的是服务器本地时区的当前日期和时间。
6 函数 NOW() 返回的是客户端上的当前日期和时间。( )
答案:错误
解析:NOW() 返回的是服务器上的当前日期和时间,与客户端的时间设置无关。
7 函数 DAYOFMONTH(d) 返回日期 d 是一月中的第几天。( )
答案:正确
解析:DAYOFMONTH(d) 函数返回日期 d 是一月中的第几天。例如,对于日期 '2023-01-01',函数返回 1,因为这是一月的第一天。
板书设计
教学反思
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$