数据基础及应用 5_第1页
数据基础及应用 5_第2页
数据基础及应用 5_第3页
数据基础及应用 5_第4页
数据基础及应用 5_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教案一:运算符、变量、游标、流程控制与函数(7.1-7.5)(2学时)一、授课内容本节课主要讲授MySQL中SQL程序设计的基础知识,包括运算符与表达式、变量应用、游标应用、程序流程控制语句以及函数,具体包括以下内容:(一)运算符与表达式1.算术运算符加(+)、减(-)、乘(*)、除(/)和取模(%),优先级为*、/、%同级高于+、-同级。2.位运算符按位与(&)、或(|)、求反(~)、异或(^)、左移(<<)、右移(>>)。3.比较运算符与逻辑运算符比较运算符:>、<、>=、<=、!=、<>。逻辑运算符:AND、OR、NOT。4.字符串连接运算使用concat函数连接字符串,加号(+)只能对数值进行加法运算。5.运算符的优先级从高到低:括号→正负取反→乘除取模→加减→比较运算符→位运算符→NOT→AND→ALL/ANY/BETWEEN/IN/LIKE/OR→赋值。(二)变量应用1.局部变量DECLAREvar_namedata_type[DEFAULTvalue],作用范围为begin…end之间,通过SET赋值或SELECTINTO从表中赋值。2.会话变量SET@session_var=value,只在当前连接中有效,连接关闭时消失。3.全局变量SETGLOBALvariable_name=value,SETPERSIST使设置永久有效。(三)游标应用1.游标的概念和使用流程游标用于逐条处理查询结果,流程为声明(DECLARE…CURSORFOR)、打开(OPEN)、读取(FETCH…INTO)和关闭(CLOSE)。游标只能在函数和存储过程中使用。2.游标与异常处理的配合使用DECLARECONTINUEHANDLERFORSQLSTATE'02000'处理游标遍历结束的异常。(四)程序流程控制语句1.分支控制(1)IF…ELSE条件语句:IFboolean_expressionTHEN…ELSE…ENDIF(2)CASE函数:简单CASE和搜索CASE两种格式,实现多分支选择(3)RETURN语句:只能用于函数中,结束执行并返回值2.循环控制(1)WHILE循环:WHILEconditionDO…ENDWHILE,先判断后执行(2)REPEAT循环:REPEAT…UNTILconditionENDREPEAT,先执行后判断(3)LOOP循环:LOOP…ENDLOOP,通过LEAVE退出、ITERATE跳转开始(4)LEAVE和ITERATE语句:LEAVE退出循环,ITERATE跳转到循环开始处(五)函数1.系统内置函数数学函数(abs、round、sqrt、ceil、floor等)、字符串函数(concat、substring、length、trim、replace等)、日期函数(curdate、now、adddate、datediff、date_format等)、系统信息函数(version、database、user等)、加密函数(sha1、md5等)。2.用户自定义函数创建:CREATEFUNCTIONname([参数])RETURNStypeBEGIN…END。需要设置log_bin_trust_function_creators=TRUE。查看:SHOWCREATEFUNCTION。修改:ALTERFUNCTION。删除:DROPFUNCTION。调用:SELECTfunction_name(参数)。二、教学目标(一)知识目标1.掌握MySQL中各类运算符的用法和优先级2.掌握局部变量、会话变量和全局变量的定义与使用3.掌握游标的声明、打开、读取和关闭操作4.掌握IF…ELSE、CASE、WHILE、REPEAT、LOOP等流程控制语句5.掌握常用内置函数和用户自定义函数的创建与调用(二)能力目标1.能够在存储过程中正确使用变量和游标2.能够根据需求选择合适的流程控制结构编写程序3.能够创建用户自定义函数并在SQL语句中调用(三)素养目标1.培养学生的程序设计思维和逻辑推理能力三、教学重点与难点(一)教学重点1.变量的三种类型及使用方法2.WHILE、REPEAT、LOOP三种循环语句的语法和区别3.用户自定义函数的创建和调用(二)教学难点1.游标与异常处理(CONTINUEHANDLER)的配合使用2.LEAVE和ITERATE的区别3.嵌套循环的编写和调试四、教学实施(一)导入环节(5分钟)前面我们学习了SQL的数据操作和查询语句,但这些语句都是一条一条执行的。如果需要编写更复杂的逻辑,比如"遍历所有学生,统计成绩等级",单条SQL无法完成。MySQL提供了程序设计功能,包括变量、流程控制、游标和函数,让我们能够编写复杂的数据库程序。(二)讲授环节(55分钟)1.运算符与表达式(8分钟)快速讲解五类运算符和优先级。演示例7-1、例7-2。强调concat函数用于字符串连接。2.变量应用(7分钟)讲解局部变量(DECLARE定义、SET/SELECTINTO赋值)、会话变量(@前缀)和全局变量(SETGLOBAL/SETPERSIST)。通过实例演示三种变量的定义和使用。3.游标应用(10分钟)(1)讲解游标的概念和四步操作流程演示例7-3、例7-4:声明、打开、读取、关闭游标。(2)讲解游标与异常处理的配合讲解DECLARECONTINUEHANDLERFORSQLSTATE'02000'的作用。4.程序流程控制语句(18分钟)(1)分支控制(8分钟)演示IF…ELSE(例7-5)、CASE函数(例7-6)、RETURN语句(例7-7)。(2)循环控制(10分钟)演示WHILE循环(例7-8:奇数求和、例7-9:阶乘求和——嵌套循环)、REPEAT循环(例7-10:1到100求和)、LOOP循环(例7-11:奇数求和+LEAVE退出)。对比三种循环的语法差异。5.函数(12分钟)(1)系统内置函数(5分钟)通过例7-12到例7-21演示数学函数、字符串函数、日期函数和加密函数的用法。(2)用户自定义函数(7分钟)演示例7-22到例7-24:创建course_avg函数、调用函数、修改和删除函数。(三)实践环节(25分钟)【课堂练习】学生根据student数据库,完成以下操作:练习1:定义一个局部变量,查询student表中学生人数并赋值给该变量练习2:使用游标遍历所有女生的学号和姓名,逐条输出练习3:编写WHILE循环计算1到100中偶数的和练习4:使用CASE语句将学生成绩转换为等级(90+优秀、80+良好、60+及格、其他不及格)练习5:创建一个用户自定义函数,输入专业名称,返回该专业的学生人数练习6:使用REPEAT循环和LOOP循环分别实现1到10的阶乘求和(四)课堂总结(5分钟)1.提问:局部变量和会话变量有什么区别?2.提问:WHILE和REPEAT循环的区别是什么?3.提问:用户自定义函数和存储过程有什么区别?4.总结本节课重点,布置课后习题(教材习题7的选择题和填空题)五、总结与反思(一)本节课总结本节课系统学习了MySQL的SQL程序设计基础知识。运算符包括算术、位运算、比较、逻辑和字符串连接五类。变量分为局部变量(begin…end内有效)、会话变量(当前连接有效)和全局变量三种。游标用于逐条处理查询结果,需配合异常处理器使用。流程控制语句包括IF…ELSE、CASE分支语句和WHILE、REPEAT、L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论