版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子课件MySQL数据库应用4.5 创建和使用存储过程1项目4:创建数据库对象数据库应用任务2 创建存储过程和函数 创建和使用存储过程(1) 教学目标 素质目标 知识目标1.培养学生温故知新的学习习惯;2.培养学生对前后知识综合应用的能力;3.思政融入点:使用存储函数可提高工作效率及安全性,鼓励学生认真对待本次课。1.了解存储过程的作用和优点;2.掌握创建存储过程的方法;3.掌握存储过程体的定义方法;4.掌握调用存储过程的方法;5.掌握管理存储过程的方法,包括查看、修改和删除存储过程。 能力目标1.具备对具体项目需求创建存储过程的能力;2.具有根据具体项目对存储过程进行管理的能力。 教学重点创
2、建存储过程,调用存储过程。 教学难点在创建存储过程中,对delimiter作用的理解以及语法中其余各项的理解教学重难点1.抽查与评讲作业;2.复习视图的创建方法;3.检查课程预习情况:“请描述一下存储过程的作用。” 创建和使用存储过程5知识储备1什么是存储过程用户对数据表的操作过程,往往不是单条SQL语句就可以实现一个完整的操作目的,而是需要一组SQL语句来实现,存储过程(或函数)就是一组SQL语句的预编译集合,是将一组对数据表操作的SQL语句当作一个整体来执行。通过应用程序调用存储过程(或函数),可以接收参数,输出参数,返回单个或多个结果集。 存储过程是一种独立的数据库对象,是在服务器上创建
3、和运行的。它与存储在客户机的本地SQL语句相比有以下优点。提高执行效率:采用批处理的Transaction-SQL语句,需要在每次运行时都要进行编译和优化,因此效率较低;而存储过程则是系统在首次运行时就会对其进行分析和优化,并将其驻留于高速缓存中,从而提高了执行效率。创建和使用存储过程 6知识储备模块化程序设计:一个存储过程和函数就是一个模块,用于封装并实现特定的功能,并在以后的程序中可多次重复调用,从而改进了应用程序的可维护性。减少网络流量:客户端调用存储过程和函数时,网络中传送的只是该调用语句,而不必从客户端发送大量的SQL语句,从而大大降低了网络流量和网络负载。存储过程提供了一种安全机制
4、:系统管理员通过执行某一存储过程的权限进行限制,能够实现对相应数据的访问权限限制,避免了非授权用户对数据的访问,从而保证了数据的安全。创建和使用存储过程 7知识储备互动:1在数据库中,使用存储过程有哪些优点?8创建和使用存储过程知识储备2. 创建存储过程语法规则:CREATE PROCEDURE 存储过程名(参数,) 存储过程体其中:参数:在存储过程中,可以有0个,1个或多个参数,每个参数形式如下:IN|OUT|INOUT 参数名 类型存储过程体:是存储过程实现的功能,由若干条SQL语句组成,这若干条SQL语句以BEGIN开始,以END结束。创建和使用存储过程 9知识储备在创建存储过程之前,需
5、要先了解一下DELIMITER命令,这是一个非常有用的命令:在MySQL服务器处理MySQL语句时,默认都是以分号为结束标志的。但是在创建的存储过程中,可能包含有多个MySQL语句,每个MySQL语句都是以分号为结尾的,这会使服务器在处理到第一个分号时,就会认为程序结束,从而导致后面的MySQL语句不能执行。因此,在MySQL中,提供了DELIMITER命令,将MySQL的结束标志修改为其他符号。修改MySQL语句结束标志语法格式:DELIMITER $其中,$是用户定义的结束符,也可以用其他一些符号,如“#”,“/”等。注意:在存储过程定义结束后,一般都需要将MySQL结束标志恢复为默认的“
6、;”,运行命令“DELIMITER ;”即可。创建和使用存储过程 10知识储备【创建存储过程示例】编写一个存储存过程,其功能是删除数据库XSCJ的CJ1表中指定学号的学生成绩。mysql 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
7、的CJ表中指定课程号的学生成绩(可以带书或笔记)。12创建和使用存储过程知识储备3存储过程体存储过程体中可以包含若干条SQL语句,使用与其它语言程序类似的常量,局部变量,以及使用较为复杂的程序设计流程控制语句。如上面【创建存储过程示例】中,在begin和end之间语句就是存储过程体。(一)常量常量是指在程序运行过程中保持不变的量。在SQL程序设计中,常量的格式取决于其表示值的数据类型。在MySQL中,常用的常量类型如表4-5所示。创建和使用存储过程 13知识储备表4-5 常用的常量类型及说明创建和使用存储过程 14常 量 类 型示 例实型常量12.3、-56.4、12E3整型常量342、-32
8、、02aef(十六进制)字符串常量括在单引号或双引号内的,由大小写字母、数字、符号组成:ab c#、abc%、“abc def!”日期常量2016-04-20、2016/04/21布尔常量TRUE(对应数值为1)、FALSE(对应数值为0)NULL值表示“无数据”,不同于空字符串和数字的0 知识储备(二)变量在MySQL中,有4种类型的变量:全局变量、会话变量、用户变量和局部变量。其中局部变量就是在存储过程体中使用的变量。由于存储过程体就是在begin和end之间语句块,因此,局部变量就是在beginend语句块中所定义的变量,其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了。在
9、MySQL中定义局部变量语法规则:DECLARE 局部变量名 类型 DEFAULT 值;创建和使用存储过程 15知识储备在局部变量定义之后,可以用SET语句为变量赋值,其语法格式是:SET 局部变量名=表达式变量的值可以使用SELECT语句输出,其语法格式是:SELECT 局部变量名创建和使用存储过程 16知识储备【定义使用局部变量示例】编写一个存储过程sum_add,其功能是完成两个整数相加。mysql DELIMITER /mysql create procedure sum_add(in x int,in y int) - begin - declare z int default 0;
10、 - set z=x+y; - select z; - end /Query OK, 0 rows affected (0.02 sec)mysql delimiter ;创建和使用存储过程 17知识储备互动:1谈一谈你对局部变量的理解(用法和特点)。2.编写一个存储过程 dim_sub,其功能是完成两个整数相减。18创建和使用存储过程知识储备4. 调用存储过程存储过程可以被程序、触发器或其它存储过程调用,其调用的语法规则是:CALL 存储过程名(参数,)【调用存储过程示例1】调用存储过程proc_del_cj()。mysql call del_cj(2020110401);【调用存储过程示例
11、2】调用存储过程sum_add。mysql call sum_add(12,24);创建和使用存储过程 19知识储备互动:1调用存储过程 del_cj1;2调用存储过程 dim_sub()20创建和使用存储过程知识储备5. 查看存储过程有两种方式查看存储过程。(一)查看在数据库中已创建的存储过程其语法规则是:SHOW PROCEDURE STATUS;(二)查看存储过程的定义代码其语法规则是:SHOW CREATE PROCEDURE 存储过程名G;创建和使用存储过程 21知识储备互动:查看存储过程 dim_sub()的定义代码。22创建和使用存储过程知识储备6. 修改存储过程使用ALTER语句可以对存储过程或函数进行修改,但一般常用的修改存储过程内容的方法是先删除原存储过程,再重新定义。创建和使用存储过程 23知识储备7删除存储过程当 MySQL 数据库中存在废弃的存储过程时,我们可以将它从数据库中删除。删除存储过程语法格式如下:DROP PROCEDURE IF EXISTS 存储过程名其中:IF EXISTS:这个关键字用于防止因删除不存在的存储过程而引发错误。例:DROP PROCEDURE IF EXISTS sum_add创建和使用存储过程 24知识储备互动:删除存储过程 dim_sub()25创建和使用存储过程复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蒙古舞教学课件
- 法纪法规教育体系构建与实施
- 手工超轻黏土课件
- 小班节能教育课程设计
- 初中物理核能课件
- 安全教育洗手规范与实施要点
- 山工艺展示设计
- 化疗患者健康教育
- 小班儿歌劳动教育设计与实践
- 教育的减法实施路径探索
- 买房个人协议
- 中国革命战争的战略问题(全文)
- 2024年江苏南京金陵中学特长生选拔考试数学试题(含答案详解)
- DB12T 1341-2024 消防产品使用和维护管理规范
- MOOC 质量管理学-中国计量大学 中国大学慕课答案
- 车间划线及颜色标准
- 中国超重肥胖营养专家共识
- 安吉热威电热科技有限公司年产4000万件电热元件生产线扩建项目环境影响报告表
- 人教版初中中考物理电学专题试题及答案详解
- GA 1807-2022核技术利用单位反恐怖防范要求
- GB/T 5330.1-2012工业用金属丝筛网和金属丝编织网网孔尺寸与金属丝直径组合选择指南第1部分:通则
评论
0/150
提交评论