版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元2MySQL数据操作课程名称:MYSQL数据库应用课程类别:必修适用专业:计算机技术类相关专业总学时:64学时(其中理论31学时,实践33学时)总学分:4.0学分本章学时:12学时(其中理论5学时,实践7学时)学情分析:学生已完成单元一的学习,掌握了数据库的基本概念、MySQL8.0的安装与配置,以及Navicat图形化工具的基本使用。学生对数据库有了初步的感性认识,能够通过图形界面完成建库建表操作。但学生对SQL语句的认识几乎为零,尚未理解“用命令操作数据库”的思维方式。本单元将正式进入SQL语句的学习,这是整个课程的核心内容,也是学生从“会用工具”到“懂数据库”的关键转折点。学生初次接触SQL语法,容易出现关键字拼写错误、语句顺序混乱、忘记加分号等问题,需要反复实操练习,形成良好编码书写习惯。材料清单《MYSQL数据库应用技术与实战(微课版)》教材。配套PPT。代码及SQL脚本。引导性提问。探究性问题。拓展性问题。教学目标与基本要求教学目标先掌握MySQL常用的数据类型和字段属性,然后掌握创建数据库、数据表以及修改表结构的SQL语句,最后掌握对表中数据进行增、删、改、查的基本操作。基本要求掌握MySQL常用数据类型及其适用场景掌握字段属性的含义与设置方法掌握创建数据库和数据表的SQL语句掌握修改表结构的SQL语句掌握插入数据(INSERT)、修改数据(UPDATE)、删除数据(DELETE)的SQL语句掌握基本查询(SELECT)的SQL语句问题引导性提问引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生思考解决问题,帮助学生理解掌握知识,提升专业实践能力。为什么在创建数据表时需要为每个字段指定数据类型?数据类型选错了会有什么后果?主键(PRIMARYKEY)和唯一键(UNIQUEKEY)有什么区别?在什么情况下应该使用主键,什么情况下应该使用唯一键?删除数据时,DELETE和TRUNCATE有什么区别?在什么场景下应该使用DELETE,什么场景下应该使用TRUNCATE?探究性问题探究性问题需要教师在深入钻研教材的基础上精心设计,在提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。CHAR和VARCHAR都是字符串类型,它们之间有什么区别?在定义表结构时应该如何选择?自增长字段(AUTO_INCREMENT)必须具备哪些条件?为什么一张表中只能有一个自增长字段?为什么在UPDATE和DELETE语句中,WHERE条件如此重要?如果执行UPDATE或DELETE时忘记加WHERE条件,会造成什么后果?DATETIME和TIMESTAMP有什么区别?在实际项目开发中应该如何选择?拓展性问题拓展性问题需要教师深刻理解教材的意义,在了解学生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。亦可以提供拓展资料供学生研习探讨,完成拓展性问题。MySQL中支持哪些存储引擎?不同的存储引擎对数据操作有什么影响?在实际项目中如何选择合适的存储引擎?什么是复合主键?在什么场景下需要使用复合主键?使用复合主键时需要注意哪些问题?外键约束是什么?它如何保证数据的完整性?在实际项目中应如何正确使用外键?主要知识点、重点与难点主要知识点MySQL数据类型(数值类型、字符串类型、日期和时间类型、枚举类型)字段属性(空属性、默认值、列描述、主键、自增长、唯一键)查看数据库与创建数据库创建数据表修改表结构(添加字段、修改字段、删除字段、修改表名)查看表结构插入数据(INSERT语句的多种方式)基本查询(SELECT语句与WHERE条件)修改数据(UPDATE语句)删除数据(DELETE语句与TRUNCATE语句)重点常用数据类型的选择与适用场景字段属性的作用与配置方法CREATETABLE语句的完整语法格式INSERT、UPDATE、DELETE语句的基本语法SELECT语句与WHERE条件的配合使用难点CHAR和VARCHAR的区别与选择原则DATETIME与TIMESTAMP的区别与选择DELETE与TRUNCATE的本质区别UPDATE和DELETE语句中WHERE条件的必要性教学过程设计第一次课(4课时:理论2学时+实践2学时)理论教学(2课时,80分钟)第1课时MySQL数据类型(40分钟)1.课堂导入(5分钟)回顾单元一的内容——学生已经使用Navicat图形化方式创建过数据表,当时设置了字段名称、数据类型和属性。提问:“为什么每个字段都要指定数据类型?如果数据类型选错了会有什么后果?”由此引出本课主题——数据类型是表结构设计的核心,选对数据类型直接关系到数据存储的准确性和查询性能。2.数值类型讲解(12分钟)数值类型主要包括整型和浮点型两类。(1)整型:包括tinyint、smallint、mediumint、int、bigint。这些数据类型存储的整数范围不同——tinyint占1字节,范围-128~127;smallint占2字节,范围-32768~32767;mediumint占3字节;int占4字节,范围-2147483648~2147483647;bigint占8字节。通常使用tinyint(1)来表示bool类型(0和1),经常用来表示主键id的int型,为了存储更大的整数,会加上无符号(UNSIGNED)属性。(2)浮点型:包括float、double和decimal。float为单精度浮点数(4字节),double为双精度浮点数(8字节),区别在于能存储的小数精度不同,double能够存储的小数精度更高。decimal用于高精度小数值,适合存储金额等对精度要求严格的数据——对于DECIMAL(M,D),如果M>D,占M+2字节,否则占D+2字节。3.字符串类型讲解(10分钟)字符串类型包括char、varchar、binary、varbinary、blob、text、enum和set等。(1)char(n)和varchar(n):n代表字符的个数,并不代表字节数。char为定长字符串(0~255字符),varchar为变长字符串(0~65535字符)。char适合存储长度固定的数据(如性别、手机号),varchar适合存储长度可变的数据(如姓名、地址)。(2)blob和text:blob是二进制大对象,有tinyblob、blob、mediumblob和longblob四种。text是长文本类型,有tinytext、text、mediumtext和longtext四种。blob存储二进制数据(如图片、文件),text存储文本数据。4.日期和时间类型讲解(8分钟)日期和时间类型包括datetime、date、time、year和timestamp等。date占3字节,格式YYYY-MM-DD;time占3字节,格式HH:MM:SS;year占1字节,格式YYYY;datetime占8字节,格式YYYY-MM-DDHH:MM:SS;timestamp占4字节。timestamp字段会随其他字段修改时自动刷新,适合存放记录最后被修改的时间。默认Timestamp类型的取值范围为‘1970-01-0100:00:01’UTC至‘2038-01-1903:14:07’UTC。5.枚举类型讲解(3分钟)枚举类型包括ENUM和SET,只能在指定的集合里取值。ENUM适合存储表单界面中的“单选值”,设定时需要给定几个固定选项,存储时只能存储其中的一个选项值。ENUM只能取单值,合法取值列表最多允许有65536个成员。使用枚举类型可以很大程度优化索引结构。6.课堂小结(2分钟)总结四大数据类型:数值类型(整型/浮点型)→字符串类型(char/varchar/text/blob)→日期和时间类型(date/time/datetime/timestamp)→枚举类型(ENUM/SET)。强调“选对类型”是表结构设计的第一步。第2课时字段属性(40分钟)1.复习导入(5分钟)快速回顾上节课的数据类型知识。提问:“创建数据表时,除了字段名称和数据类型,还需要设置哪些属性?”引出字段属性的学习。2.空属性讲解(5分钟)空属性包含两个值:NULL(可以为空,默认)和NOTNULL(不能为空)。在实际项目中,关键字段(如学号、姓名、登录密码)通常设置为NOTNULL,确保数据的完整性。3.默认值讲解(5分钟)如果某种数据会经常性地出现某个具体的值,可以在一开始就指定好,用户可以选择使用默认值。设置默认值的关键字是DEFAULT。示例:sexchar(2)NOTNULLDEFAULT‘男’4.列描述讲解(3分钟)列描述对于字段没有实际的约束,是专门用来描述字段的,相当于字段的注释,会根据表创建语句保存。设置列描述的关键字是COMMENT。示例:sexchar(2)NOTNULLCOMMENT‘性别’5.主键讲解(8分钟)主键(PRIMARYKEY)是表中用于唯一标识每一行记录的特殊字段或字段组合,其值不允许重复,也不允许为NULL。设置主键的关键字是PRIMARYKEY。MySQL中给表增加主键的常见方法有三种:直接在字段定义后指定PRIMARYKEY关键字;在所有字段定义之后使用PRIMARYKEY关键字创建主键(支持单字段主键或多字段复合主键);通过ALTERTABLE语句修改字段属性追加主键。主键默认会自动创建聚集索引,是表中数据查询效率最高的索引,也是表与表之间关联查询的核心依据。6.自增长讲解(6分钟)当自增长属性的字段没有值、默认值或为NULL时,系统会自动处理该字段—对当前字段的自增基数进行+1操作,得到一个新的值,同时更新自增基数。自增长通常跟主键搭配在一起使用,关键字是AUTO_INCREMENT。自增长的特点:字段本身必须是一个索引(即必须是键);自增字段必须是整型;一张表最多只能有一个自增字段。7.唯一键讲解(5分钟)一张表往往有很多字段需要具有唯一性,数据不能重复,但一张表中只能有一个主键。唯一键(UNIQUEKEY)可以解决表中有多个字段需要唯一约束的问题。唯一键默认允许为空,而且可以多个为空(MySQL不会对空值进行唯一性校验)。8.课堂小结(3分钟)总结六大字段属性:空属性(NULL/NOTNULL)→默认值(DEFAULT)→列描述(COMMENT)→主键(PRIMARYKEY)→自增长(AUTO_INCREMENT)→唯一键(UNIQUEKEY)。强调:主键和唯一键都是保证数据唯一性的手段,但主键一张表只能有一个,唯一键可以有多个。实践教学(2课时,80分钟)1.任务导入(5分钟)明确本节课的实践任务:根据任务书2.1的表结构分析结果,使用SQL语句创建教务系统数据库edums及三张表(stuinfo、studetail、stuscore)。强调本次操作全部使用SQL语句,不再使用Navicat的图形化建表功能。提醒学生注意SQL语句的规范书写——关键字大写、分号结尾。2.任务书2.1讲解(10分钟)讲解任务书2.1的要求:完成教务系统学生管理模块数据表结构的分析。分析学生信息表——学号是学生在校的唯一身份识别码,长度一般为10位,扩展到20位;姓名定义为可变长度字符串,最大长度为20位;登录密码采用md5方式加密,长度为32位,设置为32位的固定长度字符串;所在班级采用int型,与班级表进行外键关联;联系方式采用char类型,长度为11位。分析学生档案信息表——学生档案信息与基本信息关联,每个学生有独立的学籍档案,所以也用学号作为主键。出生日期、入团/党日期、入学日期用date类型。身份证号必须唯一。分析学生成绩表——学生成绩表中同一学生可能出现多次(不同科目、不同考试),所以学号不能为主键。成绩采用float类型,录入时间采用timestamp类型,默认为当前时间。强调:字段设置不应只看需求中的内容,还需考虑实际情况,避免漏掉字段而造成程序业务逻辑不严谨。3.操作演示:创建数据库与数据表(15分钟)演示创建数据库edums及三张表的完整SQL语句。创建数据库:CREATEDATABASEedumsDEFAULTCHARSET=utf8COLLATE=utf8_general_ci;创建学生信息表stuinfo——重点演示主键(PRIMARYKEY)和注释(COMMENT)的设置:stuNoVARCHAR(20)NOTNULLPRIMARYKEYCOMMENT‘学号’,stuSexENUM(‘男’,‘女’)DEFAULT‘男’COMMENT‘性别’。创建学生档案信息表studetail——重点演示唯一键(UNIQUE)的设置:IDCardCHAR(18)NOTNULLUNIQUECOMMENT‘身份证号’。创建学生成绩表stuscore——重点演示TIMESTAMP类型的默认值设置:addTimeTIMESTAMPDEFAULTCURRENT_TIMESTAMPCOMMENT‘录入时间’。4.学生实操:任务书2.2(35分钟)学生自主完成edums数据库及三张表的创建。巡回指导,重点关注:SQL语句的大小写规范、分号是否正确添加、字段数据类型是否选择正确、主键和自增属性是否设置正确、COMMENT注释是否添加。对于遇到语法错误的学生,指导其查看错误信息并逐行排查。要求学生将SQL语句和执行结果截图保存。5.课堂小结(5分钟)总结本节课的核心内容:SQL语句的书写规范(关键字大写、分号结尾、适当的缩进和换行)、常见语法错误的排查方法(检查关键字拼写、检查分号、检查括号匹配、检查引号是否成对)。强调数据类型和字段属性的正确选择是表结构设计的核心,直接关系到后续数据操作的准确性和效率。第二次课(4课时:理论2学时+实践2学时)理论教学(2课时,80分钟)第3课时修改数据表与插入数据(40分钟)1.复习导入(3分钟)回顾上节课建库建表的内容。提问:“表创建之后,如果发现结构需要调整怎么办?删除重建会丢失数据吗?”引出修改表结构的方法。2.查看表结构(5分钟)方法一:使用DESCRIBE命令(可简写为DESC)——DESCRIBE表名;这是查看表结构最常用的一种方式。该方法可以查看字段名称、数据类型、是否允许为空、是否为主/外键、默认值和额外信息等内容。方法二:使用SHOWCREATETABLE命令——SHOWCREATETABLE表名;这种方式是以创建表的SQL语句的形式呈现表结构。3.修改表结构(15分钟)(1)添加字段:ALTERTABLE表名ADD新字段名称数据类型属性[FIRST|LAST|AFTER字段名];中括号里面用来指定添加字段的位置,默认添加到字段列表最后面,对应的值是LAST。(2)修改字段:ALTERTABLE表名CHANGE原字段名称新字段名称数据类型属性;(3)删除字段:ALTERTABLE表名DROP字段名;(4)修改表名:ALTERTABLE表名RENAMETO新表名;逐一演示各操作的语法格式和示例。4.插入数据——INSERT语句(12分钟)(1)第一种方式:完全列举需要插入的字段名称。INSERTINTO表名(字段名1,字段名2,...)VALUES(值1,值2,...);(2)第二种方式:省略字段名,按照表中所有字段进行数据插入,值一定要与字段在表中定义的顺序一致。INSERTINTO表名VALUES(值1,值2,...);(3)第三种方式:多条数据批量插入。INSERTINTO表名(字段名1,字段名2,...)VALUES(值1,值2,...),(值1,值2,...);(4)第四种方式:INSERT…SET语句(每次只能添加一条数据)。INSERT表名SET字段名1=值1,字段名2=值2,...;(5)第五种方式:INSERT…SELECT语句(将查询结果添加到指定表中)。INSERT表名SELECT语句;添加数据最常用的是第一种方式,因为它同时支持添加单条和多条数据。最后一种方法主要用于复制数据。5.任务书2.3与2.4讲解(5分钟)任务书2.3要求完成教务系统学生管理模块数据表的修改——在学生信息表中添加QQ号字段;在学生档案信息表中添加学生照片的二进制文件内容存档。任务书2.4要求完成教务系统学生管理模块测试数据的添加——向stuinfo表中插入测试数据,密码统一使用MD5对‘123456’加密后的密文。第4课时基本查询(40分钟)1.复习导入(3分钟)回顾INSERT语句。提问:“数据插入到表中之后,如何查看数据是否正确?如何从表中获取需要的数据?”引出SELECT查询语句。2.基本查询——SELECT语句(15分钟)查询语句的语法格式:SELECT列名FROM表名[查询限制];查询限制部分包含条件匹配、限制结果集、分组、排序等操作。如果没有查询限制,查询语句会查询出所有的数据。查询所有字段——采用“*”来代替所有列名:SELECT*FROM表名;指定列查询——精确写出要查询的列,多个列之间用英文逗号隔开:SELECT列名1,列名2FROM表名;3.条件查询——WHERE子句(17分钟)(1)等于:WHERE字段=值(2)不等于:WHERE字段<>值或WHERE字段!=值(3)大于:WHERE字段>值(4)大于等于:WHERE字段>=值(5)小于:WHERE字段<值(6)小于等于:WHERE字段<=值(7)区间:WHERE字段BETWEEN值1AND值2(包含值1、值2)(8)空值判断:WHERE字段ISNULL/WHERE字段ISNOTNULL(9)多条件拼接:WHERE条件1AND/OR条件2逐一讲解每个运算符的含义和使用场景。利用比较运算符进行条件匹配时,“=”和“<>”、“!=”可以用于任意数据类型。“>”、“<”、“>=”、“<=”一般要求字段类型为数值类型或日期和时间类型。如果字段类型为其他数据类型会按照自然排序比较大小,通常得到的结果跟预期不一致,不建议使用。4.任务书2.5讲解与课堂小结(5分钟)任务书2.5要求完成教务系统学生管理模块数据的查询——查询学生的学号、姓名、联系方式;根据学生姓名查询学生的所有信息。强调编写语句时,密码等敏感内容不应该查询并显示。总结本课核心内容:修改表结构的四种操作(添加/修改/删除字段、修改表名)、插入数据的五种方式、基本查询与条件查询。实践教学(2课时,80分钟)1.任务导入(5分钟)明确本节课的实践任务:完成任务书2.3(修改表结构)、任务书2.4(插入测试数据)和任务书2.5(基本查询)。本次课的任务量较大,需要合理安排时间。2.任务书2.3演示与实操(20分钟)演示任务书2.3要求的修改操作:使用ALTERTABLE…ADD添加qq字段和photo字段。强调修改表结构之前要确认已经选择相应的数据库。添加字段时如果不指定位置,默认添加到字段列表最后面。学生自主完成修改操作,使用DESC命令验证修改结果。3.任务书2.4演示与实操(25分钟)演示批量插入学生信息,密码使用MD5加密。重点演示:字段顺序必须与表结构一致;字符串和日期值必须用单引号括起来;MD5函数的使用方法——MD5(‘123456’)得到32位加密密文。学生自主完成INSERT语句的编写与执行,使用SELECT语句验证数据是否插入成功。4.任务书2.5演示与实操(25分钟)演示各种查询语句:查询指定列、条件查询(=、<>、>、<等比较运算符)、多条件查询(AND/OR)。重点强调WHERE条件在查询中的作用——过滤出符合条件的记录。学生自主完成任务书2.5要求的查询操作,验证查询结果的正确性。5.课堂小结(5分钟)总结本节课三个任务书的要点:修改表结构时需确认已选择正确的数据库;插入数据时字段顺序必须与表结构一致;查询时WHERE条件的编写方法直接影响查询结果的准确性。强调:密码等敏感信息在查询时应予以隐藏。第三次课(4课时:理论1学时+实践3学时)理论教学(1课时,40分钟)第5课时修改数据与删除数据(40分钟)1.复习导入(5分钟)回顾INSERT和SELECT语句。提问:“数据插入后发现错误怎么办?数据不再需要了怎么删除?”引出UPDATE和DELETE语句。提问:“如果更新或删除时没有指定条件,会发生什么?”引导学生思考WHERE条件的重要性。2.修改数据——UPDATE语句(15分钟)语法:UPDATE表名SET列名1=新值1[,列名2=新值2...]WHERE条件;“WHERE条件”部分不是必需的,但是如果修改语句没有编写条件,就会对表中所有的数据进行修改。通常情况下,修改所有数据并不是期望的结果。所以在修改语句中加上条件是必要的。修改语句一般会采用“列=值”作为条件。如果要同时修改多个列的值,应采用英文逗号将多个“列名=新值”的组合隔开。逐条讲解并配合示例:修改指定条件的单列、修改指定条件的多列、不加WHERE条件的后果演示。3.删除数据——DELETE语句(15分钟)语法:DELETEFROM表名WHERE条件;和修改语句一样,“WHERE条件”部分也不是必需的,删除语句不写条件不会影响语句的执行,但是会删除所有数据。强调:在实际生产环境中,执行DELETE之前,必须先确认WHERE条件的准确性——先用相同条件的SELECT查询确认要删除的数据,确认无误后再执行DELETE。这应当成为学生的职业习惯。TRUNCATE语句——直接清空整个表中的数据,并且会重置自增基数。语法:TRUNCATE表名;DELETE与TRUNCATE的区别:DELETE是DML语句,可以配合WHERE条件删除部分数据,可以回滚(在事务中);TRUNCATE是DDL语句,只能清空整表,不能回滚。TRUNCATE会重置自增基数,DELETE不会(除非使用ALTERTABLE重置)。TRUNCATE执行速度比DELETE快(不记录行级日志)。4.任务书2.6与2.7讲解(3分钟)任务书2.6要求完成教务系统学生管理模块测试数据的修改——根据学号重置登录密码;根据学号修改手机号和QQ号。任务书2.7要求完成教务系统学生管理模块测试数据的删除——根据学号删除学生信息。5.单元总结(2分钟)总结本单元全部内容:数据类型→字段属性→创建数据库/表→修改表结构→插入数据→查询数据→修改数据→删除数据,形成完整的SQL基础操作知识体系。实践教学(3课时,120分钟)1.任务导入(5分钟)明确本节课的实践任务:完成任务书2.6(修改数据)、任务书2.7(删除数据)以及单元二综合练习。本节课实践时间充裕,要求学生在完成规定任务后,进行充分的自主练习和巩固。2.任务书2.6演示与实操(30分钟)演示根据学号重置密码:UPDATEstuinfoSETstuPass=MD5(‘123456’)WHEREstuNo=‘2022A01001’;演示根据学号修改手机号和QQ号:UPDATEstuinfoSETstuTel=‘新手机号’,qq=‘新QQ’WHEREstuNo=‘2022A01001’;重点演示多字段同时修改的语法——用英文逗号将多个“列名=新值”组合隔开。反复强调:UPDATE语句必须加WHERE条件,否则会修改所有记录。演示不加WHERE条件时的严重后果(可在测试环境中演示,然后使用事务回滚恢复)。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智慧民政流浪人员救助APP
- 刨花制备工创新应用考核试卷含答案
- 钻井架安装工诚信道德能力考核试卷含答案
- 解析郑州考驾照各类试题与答案
- 形神拳 16-22 动 说课教学设计-2023-2024学年高二上学期体育与健康人教版必修第一册
- 2025届曲靖市陆良县三下数学期中综合测试试题含答案解析
- 2025届晋宁县数学四下期末达标测试试题(含答案)
- 九年级语文下册 第四单元 14《山水画的意境》同步教学设计 新人教版
- 2025届昆明市石林彝族自治县数学四年级第二学期期末达标测试试题含答案解析
- 听觉认知测验题目与答案
- 2026年就业援疆浙江省事业单位公开招聘阿克苏籍少数民族高校毕业生(7人)考试参考题库及答案详解
- 合肥供水集团招聘考试真题及答案详解
- 2026年天津专升本(计算机基础)真题试卷(含答案)
- (2026年秋)外研社版五年级英语上册单词默写表(英译汉)
- 小学一年级数学《12减几》核心素养导向教学设计
- 24J113-1 内隔墙-轻质条板(一)
- 亳州市通源门窗幕墙有限公司智能门窗及幕墙制造项目环境影响报告表
- GB/T 26773-2011智能运输系统车道偏离报警系统性能要求与检测方法
- 林业基础知识-1林业基础知识试题林业专业基础知识林业知识林业专业知识林业相关知识
- 转化医学课件
- s3-11桥头路基处理工程数量表
评论
0/150
提交评论