《电工与电子技术电子商务电子课件MySQL数据库应用4.5 创建和使用存储过程1ppt.pptx》由会员分享,可在线阅读,更多相关《电工与电子技术电子商务电子课件MySQL数据库应用4.5 创建和使用存储过程1ppt.pptx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、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.5 创建和使用存储过程1项目4:创建数据库对象数据库应用数据库应用数据库应用数据库应用任务任务2 2
2、 创建存储过程和函数创建存储过程和函数 创建和使用存储过程创建和使用存储过程(1)(1)教学目标教学目标教学目标教学目标 素质目标 知识目标1.培养学生温故知新的学习习惯;2.培养学生对前后知识综合应用的能力;3.思政融入点:使用存储函数可提高工作效率及安全性,鼓励学生认真对待本次课。1.了解存储过程的作用和优点;2.掌握创建存储过程的方法;3.掌握存储过程体的定义方法;4.掌握调用存储过程的方法;5.掌握管理存储过程的方法,包括查看、修改和删除存储过程。能力目标1.具备对具体项目需求创建存储过程的能力;2.具有根据具体项目对存储过程进行管理的能力。教学重点教学重点创建存储过程,调用存储过程。
3、创建存储过程,调用存储过程。教学难点教学难点在创建存储过程中,对在创建存储过程中,对delimiter作用的理解以及语法中其余各项的理解作用的理解以及语法中其余各项的理解教学重难点教学重难点教学重难点教学重难点1.抽查与评讲作业;2.复习视图的创建方法;3.检查课程预习情况:“请描述一下存储过程的作用。”创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程5知识储备1什么是存储过程用户对数据表的操作过程,往往不是单条SQL语句就可以实现一个完整的操作目的,而是需要一组SQL语句来实现,存储过程(或函数)就是一组SQL语句的预编译集合,是将一组对数据表操作的SQL语句当作一个
4、整体来执行。通过应用程序调用存储过程(或函数),可以接收参数,输出参数,返回单个或多个结果集。存储过程是一种独立的数据库对象,是在服务器上创建和运行的。它与存储在客户机的本地SQL语句相比有以下优点。l提高执行效率:采用批处理的Transaction-SQL语句,需要在每次运行时都要进行编译和优化,因此效率较低;而存储过程则是系统在首次运行时就会对其进行分析和优化,并将其驻留于高速缓存中,从而提高了执行效率。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 6知识储备l模块化程序设计:一个存储过程和函数就是一个模块,用于封装并实现特定的功能,并在以后的程序中可多次重复调
5、用,从而改进了应用程序的可维护性。l减少网络流量:客户端调用存储过程和函数时,网络中传送的只是该调用语句,而不必从客户端发送大量的SQL语句,从而大大降低了网络流量和网络负载。l存储过程提供了一种安全机制:系统管理员通过执行某一存储过程的权限进行限制,能够实现对相应数据的访问权限限制,避免了非授权用户对数据的访问,从而保证了数据的安全。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 7知识储备互动:1在数据库中,使用存储过程有哪些优点?8创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备2.创建存储过程语法规则:CREATE PROCED
6、URE 存储过程名(参数,)存储过程体其中:参数:在存储过程中,可以有0个,1个或多个参数,每个参数形式如下:IN|OUT|INOUT 参数名 类型存储过程体:是存储过程实现的功能,由若干条SQL语句组成,这若干条SQL语句以BEGIN开始,以END结束。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 9知识储备在创建存储过程之前,需要先了解一下DELIMITER命令,这是一个非常有用的命令:在MySQL服务器处理MySQL语句时,默认都是以分号为结束标志的。但是在创建的存储过程中,可能包含有多个MySQL语句,每个MySQL语句都是以分号为结尾的,这会使服务器在处理
7、到第一个分号时,就会认为程序结束,从而导致后面的MySQL语句不能执行。因此,在MySQL中,提供了DELIMITER命令,将MySQL的结束标志修改为其他符号。修改MySQL语句结束标志语法格式:DELIMITER$其中,$是用户定义的结束符,也可以用其他一些符号,如“#”,“/”等。注意:在存储过程定义结束后,一般都需要将MySQL结束标志恢复为默认的“;”,运行命令“DELIMITER ;”即可。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 10知识储备【创建存储过程示例】编写一个存储存过程,其功能是删除数据库XSCJ的CJ1表中指定学号的学生成绩。mysql
8、 use xscj;mysql delimiter#mysql create procedure del_cj(in xh char(10)-begin -delete from cj1 where 学号=xh;-end#mysql delimiter;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 11知识储备互动:1谈一谈你对DELIMITER命令的理解。2.编写一个存储存过程del_cj1,其功能是删除数据库XSCJ的CJ表中指定课程号的学生成绩(可以带书或笔记)。12创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备3存储过程体存
9、储过程体中可以包含若干条SQL语句,使用与其它语言程序类似的常量,局部变量,以及使用较为复杂的程序设计流程控制语句。如上面【创建存储过程示例】中,在begin和end之间语句就是存储过程体。(一)常量常量是指在程序运行过程中保持不变的量。在SQL程序设计中,常量的格式取决于其表示值的数据类型。在MySQL中,常用的常量类型如表4-5所示。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 13知识储备表4-5 常用的常量类型及说明创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 14常 量 类 型示 例实型常量12.3、-56.4、12E3整型常量
10、342、-32、02aef(十六进制)字符串常量括在单引号或双引号内的,由大小写字母、数字、符号组成:ab c#、abc%、“abc def!”日期常量2016-04-20、2016/04/21布尔常量TRUE(对应数值为1)、FALSE(对应数值为0)NULL值表示“无数据”,不同于空字符串和数字的0 知识储备(二)变量在MySQL中,有4种类型的变量:全局变量、会话变量、用户变量和局部变量。其中局部变量就是在存储过程体中使用的变量。由于存储过程体就是在begin和end之间语句块,因此,局部变量就是在beginend语句块中所定义的变量,其作用域仅限于该语句块,在该语句块执行完毕后,局部变
11、量就消失了。在MySQL中定义局部变量语法规则:DECLARE 局部变量名 类型 DEFAULT 值;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 15知识储备在局部变量定义之后,可以用SET语句为变量赋值,其语法格式是:SET 局部变量名=表达式变量的值可以使用SELECT语句输出,其语法格式是:SELECT 局部变量名创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 16知识储备【定义使用局部变量示例】编写一个存储过程sum_add,其功能是完成两个整数相加。mysql DELIMITER/mysql create procedure s
12、um_add(in x int,in y int)-begin -declare z int default 0;-set z=x+y;-select z;-end/Query OK,0 rows affected(0.02 sec)mysql delimiter;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 17知识储备互动:1谈一谈你对局部变量的理解(用法和特点)。2.编写一个存储过程 dim_sub,其功能是完成两个整数相减。18创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备4.调用存储过程存储过程可以被程序、触发器或其它存储
13、过程调用,其调用的语法规则是:CALL 存储过程名(参数,)【调用存储过程示例1】调用存储过程proc_del_cj()。mysql call del_cj(2020110401);【调用存储过程示例2】调用存储过程sum_add。mysql call sum_add(12,24);创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 19知识储备互动:1调用存储过程 del_cj1;2调用存储过程 dim_sub()20创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备5.查看存储过程有两种方式查看存储过程。(一)查看在数据库中已创建的存储过
14、程其语法规则是:SHOW PROCEDURE STATUS;(二)查看存储过程的定义代码其语法规则是:SHOW CREATE PROCEDURE 存储过程名G;创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 21知识储备互动:查看存储过程 dim_sub()的定义代码。22创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程知识储备6.修改存储过程使用ALTER语句可以对存储过程或函数进行修改,但一般常用的修改存储过程内容的方法是先删除原存储过程,再重新定义。创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 23知识储备7删
15、除存储过程当 MySQL 数据库中存在废弃的存储过程时,我们可以将它从数据库中删除。删除存储过程语法格式如下:DROP PROCEDURE IF EXISTS 存储过程名其中:IF EXISTS:这个关键字用于防止因删除不存在的存储过程而引发错误。例:DROP PROCEDURE IF EXISTS sum_add创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程 24知识储备互动:删除存储过程 dim_sub()25创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程复习:1存储过程的作用和优点;2创建存储过程;3存储过程体的定义;4调用存储过程;5查看、修改和删除存储过程。26创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程作业:1线上预习:线上看微课视频“40、41存储过程”;2书面作业:P193,一,填空:1,3,4;二、选择题1,2,3 3本章线上章节测试(如果前几章线上作业没有完成,需要尽快完成)4线上参加互动问答27创建和使用存储过程创建和使用存储过程创建和使用存储过程创建和使用存储过程THANK YOU!