电工与电子技术电子商务电子课件MySQL数据库应用4.6 创建和使用存储过程2ppt.pptx
-
资源ID:71827005
资源大小:1.53MB
全文页数:31页
- 资源格式: PPTX
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
电工与电子技术电子商务电子课件MySQL数据库应用4.6 创建和使用存储过程2ppt.pptx
PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejian/范文下载:/fanwen/试卷下载:/shiti/教案下载:/jiaoan/字体下载:/ziti/电子课件MySQL数据库应用4.6 创建和使用存储过程2项目4:创建数据库对象数据库应用数据库应用数据库应用数据库应用任务任务2 2 创建存储过程和函数创建存储过程和函数 创建和使用存储过程创建和使用存储过程(2)(2)教学目标教学目标教学目标教学目标 素质目标 知识目标1.培养学生温故知新的学习习惯;2.培养学生对前后知识综合应用的能力;3.思政融入点:使用存储过程与提高工作效率的关系,强调工作效率的重要性。1.掌握MySQL中的 IF条件控制语句使用方法;2.掌握 CASE分支结构使用方法;3.掌握LOOP循环控制语句使用方法;4.掌握WHILE循环控制语句使用方法;5.掌握在工具软件SQLyog中创建和管理存储过程的方法 能力目标1.具有在存储过程中使用各种流程控制方法的能力。2.具备使用存储过程来进行数据查询的能力;教学重点教学重点在存储过程中如何应用在存储过程中如何应用IF判断语句和判断语句和while循环控制语句的语法。循环控制语句的语法。教学难点教学难点各种流程控制结构的语法规则。各种流程控制结构的语法规则。教学重难点教学重难点教学重难点教学重难点1.抽查与评讲作业;2.复习存储过程的创建及调用方法;3.检查课程预习情况:“你们在C语言中,学过有哪些程序设计结构?”创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程5知识储备在MySQL语言中,可以使用流程控制语句进行来控制语句的执行,但是只能在存储过程或函数、触发器或事务中定义使用。(一)IF条件控制语句 IF条件结构的语法格式:IF 条件表达式THEN 语句块1ELSEIF 条件表达式2 THEN 语句块2ELSE 语句块nEND IF;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 6知识储备【IF条件控制语句示例】在存储过程proc1中使用IF条件语句。mysql delimiter/mysql create procedure proc1(in xh char(10)-reads sql data 调用存储过程proc1 -begin -if(select 学号 from xsqk where xsqk.学号=xh)is null then -select 无此学生信息 as 学生信息;-else -select 学号,姓名,性别,专业名 from xsqk where xsqk.学号=xh;-end if;-end/创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 7知识储备互动:1讲述存储过程proc1的程序设计思路。8创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备(二)CASE分支结构 CASE分支结构可以提供多个条件进行选择,其效果与IF语句类似。CASE分支结构的语法规则:CASE case_值 WHEN when_值1 THEN 语句1 WHEN when_值2 THEN 语句2 ELSE 语句nEND CASE 创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 9知识储备【CASE分支结构示例】使用CASE结构判断学生成绩等级。mysql delimiter/mysql create procedure proc2(in xh char(10),in kch char(3)-begin -declare fs tinyint;-if(select 学号 from cj where 学号=xh and 课程号=kch)is null then -select 无此学生成绩 as 学生成绩;-else -select 成绩 into fs from cj where 学号=xh and 课程号=kch;-set fs=floor(fs/10);#floor是MySQL的一个取整函数 -case fs创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 10知识储备【CASE分支结构示例】使用CASE结构判断学生成绩等级。续:-when 9|10 then select 优秀 as 成绩等级;调用存储过程proc2 -when 8 then select 良好 as 成绩等级;-when 7 then select 中等 as 成绩等级;-when 6 then select 及格 as 成绩等级;-else -select 不及格 as 成绩等级;-end case;-end if;-end/创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 11知识储备互动:讲述使用CASE结构判断学生成绩等级的程序设计思路。12创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备(三)LOOP循环控制语句 LOOP的循环语句的语法规则:begin_lable:LOOP 语句序列;ITERATE begin_lable;LEAVE begin_lable1;END LOOP;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 13知识储备【LOOP循环示例】使用LOOP循环语句,用于完成输入一个正整数并求从1到该数的累加和。mysql delimiter/mysql create procedure addsum(in x int)-begin -set i=1,sum=0;-add_sum:loop -begin -set sum=sum+i;-set i=i+1;-end;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 14DELIMITER/CREATE PROCEDURE addsum1(IN X INT)BEGINDECLARE i INT DEFAULT 1;DECLARE sum1 INT DEFAULT 0;add_sum:LOOP BEGIN SET sum1=sum1+i;SET i=i+1;END;IF iX THEN LEAVE add_sum;END IF;END LOOP;SELECT sum1 AS 累加和;END/DELIMITER;知识储备【LOOP循环示例】使用LOOP循环语句,用于完成输入一个正整数并求从1到该数的累加和。续:-if ix then -leave add_sum;-end if;-end loop;loop循环语句执行结果 -select sum as 累加和;-end/mysql delimiter;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 15知识储备互动:讲述使用LOOP循环语句求累加和的程序设计思路。16创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备(四)WHILE循环控制语句 WHILE循环控制语句语法规则:begin_label:WHILE 布尔表达式 DO语句序列;ITERATE begin_lable;LEAVE begin_lable1;END WHILE;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 17知识储备【WHILE循环示例】使用WHILE循环语句求1+2+100的和。mysql delimiter/mysql create procedure addsum1()-begin -declare i int default 1;-declare sum int default 0;-while i set sum=sum+i;-set i=i+1;-end while;-select sum;-end/mysql delimiter;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 18知识储备互动:讲述使用WHILE循环语句求累加和程序设计思路。19创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程任务实施1.创建不带参数的存储过程并调用【任务1】创建一个存储过程proc_xsqk,从数据库XSCJ的XSQK表中查询出所有专业名为“信息安全”的人数。mysql delimiter/#改变MySQL语句结束标志为/mysql create procedure proc_xsqk()-reads sql data -begin -select count(*)信息安全专业人数 from xsqk -where 专业名=信息安全%;-end/mysql delimiter;#把MySQL语句结束标志还原为默认的“;”【任务2】调用存储过程proc_xsqk()。mysql call proc_xsqk();创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 20知识储备互动:讲述创建存储过程proc_xsqk的思路。21创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程任务实施2.创建带参数的存储过程并调用【任务3】创建一个存储过程proc_drop_cj,用于删除成绩表CJ中某个学生的所有成绩信息。mysql delimiter /mysql create procedure proc_drop_cj(in xh char(10)-begin -delete from cj -where 学号=xh;-end/mysql delimiter;【任务4】调用存储过程proc_drop_cj。mysql call proc_drop_cj(2020110401);创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 22知识储备互动:讲述创建存储过程proc_drop_cj的思路。23创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程任务实施2.创建带参数的存储过程并调用【任务5】创建一个带有输入输出参数的存储过程proc_count,用于统计xsqk表中某个指定专业名的学生人数。mysql delimiter/mysql create procedure proc_count(in ZYM varchar(20),out count_num int)-reads sql data -begin -select count(*)into count_num from xsqk -where 专业名=ZYM;-end/Query OK,0 rows affected(0.01 sec)mysql delimiter;【任务6】调用存储过程proc_count,并显示指定专业名的学生人数。mysql call proc_count(信息安全,num);创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 24知识储备互动:讲述创建存储过程proc_count的思路。25创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程任务拓展【拓展1】使用工具软件SQLyog来创建一个存储过程,用于查询选修了某门课程号的男生人数。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 26任务拓展【拓展2】调用存储过程count_kch。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 27知识储备互动:使用工具软件SQLyog来创建一个存储过程,用于查询选修了某门课程号的学生人数。28创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程复习:1IF条件控制语句;2CASE分支结构;3LOOP循环控制语句;4WHILE循环控制语句;5在工具软件SQLyog中创建和管理存储过程29创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程作业:1线上预习:线上看微课视频“42存储函数”;2书面作业:P193,一,填空:6,7,8;二、选择题4,5 3本章线上章节测试(如果前几章线上作业没有完成,需要尽快完成)4线上参加互动问答30创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程THANK YOU!