考点15 存储过程《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解

2026-08-26
| 7页
| 60人阅读
| 1人下载
精品

内容正文:

河北省(计算机类)对口招生 《数据库原理与应用技术-MySQL》复习讲义 模块4 MySQL数据库编程 考点 15 存储过程 【考纲要求】 1.掌握存储过程的基本概念、特点与作用; 2.掌握存储过程体的基本概念及构造方法; 3.掌握使用SQL 语句创建、修改、删除存储过程的操作方法及应用; 4.掌握存储过程的调用方法; 【知识网络】 【知识和技能要点】 一、存储过程概念及特点 1.定义 存储过程是一组为了完成特定功能的SQL语句集合,经过编译后存储在数据库中,属于数据库的对象。用户通过调用存储过程,即可批量执行内部所有SQL语句,无需重复编写代码。 2.核心特点 (1)封装性 将多条SQL语句封装为一个整体,简化代码结构,屏蔽底层复杂语句,使用者只需调用即可。 (2)预编译性 存储过程在创建时完成编译、优化,首次编译后永久生效,后续调用无需重复编译,执行效率远高于单独执行SQL语句。 (3)可重复调用 创建完成后可多次、反复调用,大幅减少重复代码编写。 (4)支持参数 支持输入参数、输出参数,可以接收外部数据、返回执行结果,灵活性极高。 (5)独立性 存储过程依附数据库存在,不依赖数据表,删除数据表不会影响存储过程。 3.存储过程的作用 (1)提高执行效率:一次编译、多次调用,避免重复编译,提升数据库运行速度。 (2)简化代码、降低冗余:封装重复SQL语句,减少代码重复编写,简化开发操作。 (3) 提高数据安全性:可以通过存储过程控制数据操作权限,禁止用户直接操作底层数据表。 (4)实现复杂业务逻辑:可以整合查询、增删改、判断、循环等多条语句,完成复杂数据库业务操作。 (5)方便统一维护:只需修改存储过程内部代码,所有调用位置自动生效,维护成本低。 二、存储过程的创建 1.基本语法形式如下: CREATE PROCEDURE <过程名> ([[IN | OUT | INOUT ] 参数名 数据类型[,[IN | OUT | INOUT ] 参数名 数据类型....]])[特性....] BEGIN <过程体> END 2.存储过程参数 (1)IN 输入参数(默认) 功能:接收调用时传入的数据,仅用于过程内部使用,无法向外返回数据。 (2)OUT 输出参数 功能:用于向外返回执行结果,过程内部赋值,调用后可获取数据。 (3)INOUT 输入输出参数 功能:兼具输入和输出,既可接收传入数据,又可返回最终结果。 3. MySQL流程控制语句 IF语句、CASE语句、LOOP语句、LEAVE语句、ITEARTE语句、REPEAT语句和WHILE语句。 (1)IF语句基本语法形式如下: IF expr_condition THEN statement_list [ELSEIF expr_condition THEN statement_list] [ELSE statement_list] END IF (2) Case语句基本语法形式如下: CASE case_expr WHEN when_value THEN statement_list [WHEN when_value THEN statement_list]..... [ELSE statement_list ] END CASE (3)LOOP语句与LEAVE语句 ①LOOP语句基本语法形式如下: [loop_lable:] LOOP statement_list END LOOP [loop_lable] ②LEAVE语句基本语法形式如下: ITEARTE lable (4)REPEAT语句基本语法形式如下: [repeat_lable:] REPEAT statement_list UNTIL expr_condition END REPEAT [repeat_lable] (5) WHILE语句基本语法形式如下: [while_lable:] WHILE expr_condition DO Statement_list END WHILE [while_lable] 4.存储过程调用方法 CALL <存储过程名(实参列表)> 5.修改存储过程 ALTER PROCEDURE <过程名> [characteristic .....] 6.查看存储过程 (1)显示存储过程:SHOW PROCEDURE STATUS (2)显示特定数据库的存储过程 SHOW PROCEDURE STATUS WHERE DB=‘数据库名’ (3) 显示特定模式的存储过程 SHOW PROCEDURE STATUS WHERE NAME LIKE 通配符表达式 (4) 显示存储过程的源码 SHOW CREATE PROCEDURE <存储过程名> 7.删除存储过程 DROP PROCEDURE [IF EXISTS] <存储过程名> 【练习题】 一、填空题 1.存储过程是一组为了完成特定功能的________集合,经编译后存储在数据库中。 2.存储过程的参数分为IN、OUT、________三种类型。 3.修改存储过程特性的语法关键字是________。 4.查看所有存储过程状态信息的语句是________。 5.在存储过程中,若要使变量"count”增加1.可以使用________语句。 二、选择题 1.下列关于存储过程的本质定义,说法正确的是() A. 单一的查询SQL语句 B. 完成特定功能的SQL语句集合,编译后存储在数据库中 C. 定时执行的数据库任务 D. 依附数据表的自动触发程序 2.存储过程在何时完成编译优化() A. 每次调用时 B. 创建时 C. 查询数据时 D. 打开数据库时 3.用于接收外部传入数据,仅在过程内部使用的参数类型是( ) A. IN B. OUT C. INOUT D. INPUT 4.兼具输入和输出功能的存储过程参数是( ) A. IN B. OUT C. INOUT D. ALL 5.创建存储过程的核心关键字是( ) A. CREATE TABLE B. CREATE PROCEDURE C. CREATE EVENT D. CREATE TRIGGER 6.对比触发器和事件,存储过程的核心特点是( ) A. 数据变动自动执行 B. 时间周期自动执行 C. 手动主动调用执行 D. 依附数据表自动执行 7.存储过程可以有( )个参数。 A.0 B.1 C.多 D.以上都正确 8. 以下关于存储过程的说法,错误的是( ) A.存储过程方便用户完成某些功能 B.存储过程方便用户批量执行SQL命令 C.存储过程不能调用存储过程 D.应用程序可以调用存储过程 9.REPEAT循环的执行特点是( ) A. 先判断后执行 B. 先执行后判断 C. 仅执行一次 D. 无条件循环 10.用于跳过本次循环、进入下一次循环的语句是( ) A. LEAVE B. ITERATE C. STOP D. CONTINUE 3、 判断题 1. 存储过程依赖数据表存在,删除数据表会自动删除存储过程。() 2. OUT参数可以在存储过程内部赋值,供调用端获取结果。() 3. 存储过程可以自动执行,无需手动调用。() 4. 存储过程、触发器、事件都支持自定义输入输出参数。() 5. LOOP语句是无条件循环,必须配合LEAVE语句才能终止循环。() 6. 无参数的存储过程,调用时括号可以省略。() 7. REPEAT循环是先判断条件,再执行循环体。() 8. 删除存储过程只会删除封装的代码,不会删除数据表和数据。() 9. 在存储过程中,可以使用流程控制语句来控制程序的执行流程。() 10. 在存储过程中,可以使用临时表来存储中间结果。() 4、 程序功能题 1. 下列程序实现的功能是__________________ CREATE PROCEDURE proc_del_low_score(IN min_sc INT,OUT count_num INT) BEGIN DELETE FROM score WHERE score < min_sc; SELECT COUNT(*) INTO count_num FROM score; END CALL proc_del_low_score(60,@num); SELECT @num; 5、 程序读程题 1.下列程序运行后,结果为______________ CREATE PROCEDURE proc_fib() BEGIN DECLARE a INT DEFAULT 1; DECLARE b INT DEFAULT 1; DECLARE c INT DEFAULT 0; DECLARE i INT DEFAULT 3; fib_loop:WHILE i <= 10 DO SET c = a + b; SET a = b; SET b = c; SET i = i + 1; END WHILE fib_loop; SELECT b AS 最终结果; END CALL proc_fib(); 【答案】 1、 填空题 1. SQL语句 2. INOUT 3. ALTER PROCEDURE 4. SHOW PROCEDURE STATUS 5.set count=count+1; 二、选择题 1. B 2. B 3. A 4.C 5.B 6. C 7. D 8. C 9. B 10. B 三、判断题 1. × 2. √ 3. × 4. × 5. √ 6. × 7. × 8. √ 9.√ 10. √ 四、程序功能题 1.删除成绩表中低于指定分数的记录,并返回删除后表中剩余的学生总数。 五、程序读程题 1. 55 原创精品资源学科网独家享有版权,侵权必究 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

考点15 存储过程《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解
1
考点15 存储过程《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解
2
考点15 存储过程《数据库原理与应用技术-MySQL》河北省(对口招生)计算机类 知识点讲解
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。