内容正文:
《数据库原理与应用技术》教案
课 题
MySQL数据类型
课 型
理论
课 时
1
授课班级
授课时间
授课教师
教材分析
本书内容由浅入深、循序渐进,系统地介绍了数据库技术的基础理论、基本技术和方法,具体包括数据库和数据表的操作、数据库完整性操作、数据的查询与更新、数据 库编程、数据库设计等内容。
全书以模块作为教学单元,每个单元又包含若干个任务,本节为项目三 任务二 MySQL数据类型。
学情分析
学生已经学习了结构化查询语言,对SQL语言有了初步的了解,现在进一步学习MySQL数据类型,掌握MySQL常用的数据类型,为以后的SQL语句书写打下基础。
学习目标
知识目标
了解MySQL数据类型
掌握整数类型、小数类型、日期和时间类型、字符串类型的使用
学习重难点
教学重点
掌握整数类型、小数类型、日期和时间类型、字符串类型的使用
教学难点
掌握整数类型、小数类型、日期和时间类型、字符串类型的使用
教学方法
讲授法,体验探究法,演示法
课前准备
课件,多媒体教学设备
教学媒体
多媒体教室
教学过程
教学环节
教师活动设计
学生活动设计
设计意图
活动一:
创设情境
生成问题
思考主题:
图书馆为什么要通过区域存放相同类型的数据
步骤:
分组: 将学生分成小组,每组 4-6 人。
讨论: 3分钟时间
思考回答问题
引出今日教学知识点:数据库也可以对数据进行分类-数据类型
激发学生学习兴趣,唤起学生强烈求知欲。
活动二:
调动思维
探究新知
数据类型
数据类型 (Data Type) 是指系统中所允许的数据类型,是数据的一种属性。
MySQL数据库提供了包括整数类型、小数类型、日期和时间类型、字符串类型等多种数据类型
字节
字节:在计算机中数据是以0/1的二进制数进行存储数据的。其中每一个0/1称之为一位(bite)。每八位称之为一个字节。
整数类型
MySQL中的整数类型是数据库中最基本的数据类型。
根据取值范围的不同,可分为5种,分别是INT (也可写作INTEGER) 、SMALLINT 、TINYINT、 MEDIUMINT和BIGINT。
注意事项:
1 整数类型后面加UNSIGNED属性,表示使用无符号数据类型,否则为有符号数据类型。
2 整数类型后面加 (M) 属性,表示指定显示宽度为M 。显示宽度只影响数据的显示格式,不影响数值范围。小于显示宽度时,MySQL 会填充空格或零;大于显示宽度时,按实际数值存储。MySQL 8.0 后不推荐使用显示宽度。
3 ZEROFILL 用于在数字前补零,使其达到显示宽度要求。负数不能用 ZEROFILL。
小组比赛,进行知识点提问抢答
激发学生强烈求知欲,巩固概念性知识点
活动三:
调动思维
探究新知
小数类型
在MySQL中,小数都是使用浮点数或定点数来表示的。
多种小数类型,有单精度浮点数类型 (FLOAT) 和双精度浮点数类型 (DOUBLE), 定点数类型为DECIMAL,用于存储浮点数数据。
注意事项
浮点数和定点数类型后面加UNSIGNED属性,表示无符号数,此时取值范围不包含负数。
浮点数和定点数类型后面加 (M,D) 属 性 ,M称为精度,表示数字总位数(不包括 小数点“.”和负号“-”),D 称为标度,表示小数点后的小数位数。
MySQL的浮点数类型(FLOAT和DOUBLE)允许指定精度(M)和小数位数(D),范围分别是0到30和D到255,但不能大于M-2。不指定时,会根据系统默认精度显示。浮点数类型虽然范围大,但精度有限,可能导致舍入误差。从MySQL 8.0起,建议避免使用UNSIGNED和(M,D)属性。
MySQL的定点数类型(DECIMAL)用于存储高精度的小数,M最大为65,D最大为30。超出范围时会四舍五入截断,显示“Data truncated”警告;整数部分超出时会报错“Out of range value”。
定点数在MySQL内部以字符串的形式存储。在对精度要求比较高的时候,推荐使用DECIMAL类型。
带领学生继续学习小数类型,并且定时互动,加深学生印象
通过和整数类型进行对比教学,加深学生印象,培养学生自主学习的能力,掌握分析问题和解决问题的方式,发展综合思维能力。
活动三:
调动思维
探究新知
日期和时间类型
注意事项
1 表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
2 每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
选择日期和时间类型的建议:
根据需要存储的数据类型和范围选择合适的类型。
如果只需要存储日期,可以选择 DATE 类型。
如果需要存储时间,可以选择 TIME 类型。
如果需要同时存储日期和时间,可以选择 DATETIME 或 TIMESTAMP 类型。
YEAR 类型用于存储年份,但它的存储范围相对较小。
字符串类型
注意事项
根据实际存储的数据长度选择合适的类型。
如果存储的数据长度固定,可以使用 CHAR 类型。
如果存储的数据长度不确定,可以选择 VARCHAR 类型。
根据存储数据的长度范围选择 TINYTEXT、TEXT、MEDIUMTEXT 或 LONGTEXT 类型。
CHAR 类型在存储时会自动填充空格,这可能会影响数据的显示。
VARCHAR 类型在存储时不会填充空格,但长度限制比 CHAR 类型宽松。
字符串类型在存储时可能会受到最大字符长度限制,超出时会报错或截断数据。
认真学习,对比其他数据类型,提问学生
通过提问的方式,加深学生对知识的认知
活动四:
巩固练习
素质提升
1 小组讨论
CHAR 和 VARCHAR 类型的区别是什么?
DATETIME 和 TIMESTAMP 类型的区别?
FLOAT 和 DOUBLE 类型的区别?
小组根据问题,进行讨论
通过小组讨论,加深对本节课的学习认知
课堂小结
作业布置
1 以下( )数据类型在MySQL中用于存储高精度的小数。
A.FLOAT
B.DOUBLE
C.DECIMAL
D.TINYINT
答案:C
解析:DECIMAL类型用于存储高精度的小数,其精度和标度可以自定义,适用于对精度要求较高的场景。而FLOAT和DOUBLE类型虽然范围大,但精度有限,可能会导致舍入误差。
2以下( )日期和时间类型表示的是从1970年1月1日00:00:01 UTC到2038年1月19日03:14:07 UTC的值。
A.DATE
B.TIME
C.DATETIME
D.TIMESTAMP
答案: D
解析:TIMESTAMP类型表示的是从1970年1月1日00:00:01 UTC到2038年1月19日03:14:07 UTC的值,也就是从Unix时间戳的起点到结束。而DATE、TIME和DATETIME类型的范围和用途与TIMESTAMP不同。
3 以下( )字符串类型在存储时会自动填充空格。
A. CHAR
B. VARCHAR
C. TEXT
D. BLOB
答案:A
解析:CHAR类型在存储时会自动填充空格,以达到指定的长度。而VARCHAR类型在存储时不会填充空格,BLOB和TEXT类型则是用于存储二进制数据或文本数据,与空格填充无关。
4 在MySQL中,浮点数类型 (FLOAT 和 DOUBLE) 的精度比定点数类型 (DECIMAL) 高。( )
答案: 错误
解析:浮点数类型 (FLOAT 和 DOUBLE) 的范围大,但精度有限,可能会导致舍入误差。而定点数类型 (DECIMAL) 用于存储高精度的小数,其精度和标度可以自定义,适用于对精度要求较高的场景。因此,浮点数类型的精度并不比定点数类型高。
5 在MySQL中,整数类型 (INT, SMALLINT, TINYINT等) 的取值范围可以通过添加UNSIGNED属性来扩展。( )
答案:正确
解析:整数类型后面加UNSIGNED属性,表示使用无符号数据类型,此时取值范围不包含负数,从而扩展了取值范围。
6 在MySQL中,字符串类型 (CHAR, VARCHAR, TEXT等) 的大小是固定的。( )
答案:错误
解析:CHAR类型的大小是固定的,而VARCHAR、TEXT等类型的大小是可变的。CHAR类型在创建时会指定一个最大长度,存储时如果数据不足长度会自动填充空格,而VARCHAR类型则根据实际存储的数据长度动态调整大小。
7 在MySQL中,DATETIME类型可以表示从1000年到9999年之间的日期和时间值。( )
答案:正确
解析:DATETIME类型可以表示从1000年1月1日00:00:00到9999年12月31日23:59:59之间的日期和时间值。
板书设计
教学反思
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$