第42卷 数据库原理与应用技术—存储函数—河北省计算机类—考纲百套卷
|
2份
|
12页
|
54人阅读
|
0人下载
内容正文:
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第42卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷20——存储函数"范围和要求编写。具体内容为:掌握存储函数的基本概念、特点与作用;掌握存储过程和存储函数的区别;掌握使用SQL语句创建、修改、删除存储函数的操作方法及应用;掌握存储函数的调用方法
河北省对口招生职业技能考试
数据库原理与应用技术 试卷
(数据库卷20——存储函数)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. MySQL存储过程中,OUT参数的作用是()
A.向过程传入值 B.从过程传出值 C.既传入又传出值 D.定义默认值
2. MySQL中,删除存储函数的命令是()
A.DROP FUNCTION func_name B.DROP PROCEDURE func_name C.DELETE FUNCTION func_name D.REMOVE FUNCTION func_name
3. MySQL中,存储函数与存储过程在调用时,存储函数可以出现在()中
A.INSERT语句VALUES列表 B.SELECT语句的列表达式 C.UPDATE语句SET子句 D.以上都可以
4. 在数据库系统中,负责管理和维护数据库的是()
A.数据库管理员 B.数据库管理系统 C.操作系统 D.应用程序
5. 下列关于数据库的叙述中,正确的是()
A.数据库是一个DBF文件 B.数据库是一组文件的集合 C.数据库是长期储存在计算机内有组织、可共享的数据集合 D.数据库是一个关系
6. 存储过程内使用IF条件语句时,条件结束的关键字是()
A.ENDIF B.END IF C.IF END D.STOP IF
7. MySQL存储过程中,SET变量名 = 值 的作用是()
A.删除变量 B.定义变量 C.给变量赋值 D.比较变量
8. MySQL存储函数的RETURNS子句用于指定()
A.参数类型 B.返回值的数据类型 C.函数名称 D.函数执行时间
9. 存储过程与普通SQL语句的主要区别是()
A.存储过程编译后存储在数据库中,可反复调用 B.存储过程不能接受参数 C.存储过程只能查询数据 D.存储过程不需要BEGIN...END
10. COMMIT语句的作用是()
A.回滚事务 B.提交事务,使更改永久生效 C.开启事务 D.设置保存点
11. MySQL存储过程中,用于声明局部变量的关键字是()
A.VAR B.DECLARE C.VARIABLE D.LOCAL
12. MySQL中,创建存储函数的关键字是()
A.CREATE PROCEDURE B.CREATE FUNCTION C.CREATE ROUTINE D.CREATE SUBPROGRAM
13. 数据库事务的ACID特性中,"I"代表()
A.完整性 B.隔离性 C.一致性 D.持久性
14. MySQL中,删除存储过程的命令是()
A.DROP PROCEDURE proc_name B.DROP FUNCTION proc_name C.DELETE PROCEDURE proc_name D.REMOVE PROCEDURE proc_name
15. MySQL中,调用存储函数的语法是()
A.CALL func_name() B.SELECT func_name() C.EXECUTE func_name() D.RUN func_name()
16. 在MySQL存储过程中,CASE语句的作用是()
A.声明变量 B.条件分支选择 C.循环控制 D.异常处理
17. MySQL存储函数中,使用()语句返回值
A.OUT B.SELECT C.RETURN D.GET
18. 存储函数与存储过程的主要区别是()
A.存储函数有返回值,存储过程没有;存储函数只能作为表达式调用 B.存储函数不能有参数 C.存储过程不能返回值 D.没有区别
19. MySQL存储过程中,使用哪个关键字可以将结果返回给调用者()
A.RETURN B.SELECT C.OUT参数 D.GET
20. 在MySQL中,BEGIN...END块用于()
A.定义数据库 B.定义复合语句块(存储过程、触发器等) C.开始一个事务 D.创建表
二、填空题(共10空,每空1分,共10分)
21. MySQL中,调用存储过程的命令关键字是_____。
22. MySQL存储过程中,SET语句用于给变量进行_____。
23. MySQL中,创建存储函数使用CREATE_____关键字。
24. MySQL存储过程中,用于声明局部变量的关键字是_____。
25. MySQL存储过程中,IN参数用于向过程传入_____,OUT参数用于传出_____。
26. MySQL存储过程体使用BEGIN..._____包裹。
27. MySQL存储函数的调用方式是在表达式中直接写函数名,如SELECT func_name_____。
28. MySQL存储函数通过_____语句返回值。
29. SQL的中文含义是_____。
30. MySQL存储函数体中至少需要包含_____条RETURN语句。
三、判断题(共5题,每题1分,共5分)
31. MySQL存储过程可以没有参数。( )
32. COMMIT语句可以撤销事务中的操作。( )
33. MySQL存储函数与存储过程都可以使用OUT参数返回值。( )
34. MySQL存储过程中可以使用SELECT语句返回结果集。( )
35. 在MySQL中,一张表只能有一个索引。( )
四、写命令题(共5题,每题9分,共45分)
36. 已知有员工表emp(empno INT, ename VARCHAR(30), sal DECIMAL(10,2)),请写一个存储过程p_emp_count,返回员工表中工资大于给定值的员工人数。
37. 已知有成绩表score(sno INT, cname VARCHAR(30), grade INT),请写一个存储函数p_avg_grade,接收课程名参数,返回该课程的平均成绩。
38. 已知有员工表emp(empno INT PRIMARY KEY, ename VARCHAR(30), sal DECIMAL(10,2), deptno INT),请写出SQL命令:分别查询各部门(按部门号分组)的最高工资和最低工资,以及获得最高工资的员工姓名。
39. 请写出创建一个事件e_daily_task,每天凌晨2点执行一次,调用存储过程p_daily_cleanup()。
40. 已知有学生表 student(sno INT, sname VARCHAR(20), sdept VARCHAR(10)),请写出 SQL 语句:创建视图 v_cs,查询计算机系(sdept='CS')学生的学号和姓名。
学科网(北京)股份有限公司
$
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第42卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷20——存储函数"范围和要求编写。具体内容为:掌握存储函数的基本概念、特点与作用;掌握存储过程和存储函数的区别;掌握使用SQL语句创建、修改、删除存储函数的操作方法及应用;掌握存储函数的调用方法
河北省对口招生职业技能考试
数据库原理与应用技术 试卷
(数据库卷20——存储函数)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. MySQL存储过程中,OUT参数的作用是()
A.向过程传入值 B.从过程传出值 C.既传入又传出值 D.定义默认值
【答案】B
【解析】OUT参数用于从存储过程向外传出(返回)值。
2. MySQL中,删除存储函数的命令是()
A.DROP FUNCTION func_name B.DROP PROCEDURE func_name C.DELETE FUNCTION func_name D.REMOVE FUNCTION func_name
【答案】A
【解析】DROP FUNCTION [IF EXISTS] func_name 用于删除存储函数。
3. MySQL中,存储函数与存储过程在调用时,存储函数可以出现在()中
A.INSERT语句VALUES列表 B.SELECT语句的列表达式 C.UPDATE语句SET子句 D.以上都可以
【答案】D
【解析】存储函数可像内置函数一样在任何表达式位置调用。
4. 在数据库系统中,负责管理和维护数据库的是()
A.数据库管理员 B.数据库管理系统 C.操作系统 D.应用程序
【答案】A
【解析】数据库管理员(DBA)的核心职责就是管理和维护数据。
5. 下列关于数据库的叙述中,正确的是()
A.数据库是一个DBF文件 B.数据库是一组文件的集合 C.数据库是长期储存在计算机内有组织、可共享的数据集合 D.数据库是一个关系
【答案】C
【解析】数据库是长期储存在计算机内有组织、可共享的大量数据的集合。
6. 存储过程内使用IF条件语句时,条件结束的关键字是()
A.ENDIF B.END IF C.IF END D.STOP IF
【答案】B
【解析】MySQL中IF语句以 END IF 结束。
7. MySQL存储过程中,SET变量名 = 值 的作用是()
A.删除变量 B.定义变量 C.给变量赋值 D.比较变量
【答案】C
【解析】SET语句用于给变量赋值。
8. MySQL存储函数的RETURNS子句用于指定()
A.参数类型 B.返回值的数据类型 C.函数名称 D.函数执行时间
【答案】B
【解析】RETURNS type 子句声明函数返回值的数据类型。
9. 存储过程与普通SQL语句的主要区别是()
A.存储过程编译后存储在数据库中,可反复调用 B.存储过程不能接受参数 C.存储过程只能查询数据 D.存储过程不需要BEGIN...END
【答案】A
【解析】存储过程是预编译的SQL代码块,存储在服务器端,可接受参数并反复调用执行。
10. COMMIT语句的作用是()
A.回滚事务 B.提交事务,使更改永久生效 C.开启事务 D.设置保存点
【答案】B
【解析】COMMIT提交当前事务,将所有修改永久保存到数据库。
11. MySQL存储过程中,用于声明局部变量的关键字是()
A.VAR B.DECLARE C.VARIABLE D.LOCAL
【答案】B
【解析】DECLARE var_name type [DEFAULT value] 用于声明局部变量。
12. MySQL中,创建存储函数的关键字是()
A.CREATE PROCEDURE B.CREATE FUNCTION C.CREATE ROUTINE D.CREATE SUBPROGRAM
【答案】B
【解析】使用 CREATE FUNCTION func_name(...) RETURNS type ... 创建存储函数。
13. 数据库事务的ACID特性中,"I"代表()
A.完整性 B.隔离性 C.一致性 D.持久性
【答案】B
【解析】ACID分别是Atomicity原子性、Consistency一致性、Isolation隔离性、Durability持久性。
14. MySQL中,删除存储过程的命令是()
A.DROP PROCEDURE proc_name B.DROP FUNCTION proc_name C.DELETE PROCEDURE proc_name D.REMOVE PROCEDURE proc_name
【答案】A
【解析】DROP PROCEDURE [IF EXISTS] proc_name 用于删除存储过程。
15. MySQL中,调用存储函数的语法是()
A.CALL func_name() B.SELECT func_name() C.EXECUTE func_name() D.RUN func_name()
【答案】B
【解析】存储函数在表达式中使用,如 SELECT func_name();
16. 在MySQL存储过程中,CASE语句的作用是()
A.声明变量 B.条件分支选择 C.循环控制 D.异常处理
【答案】B
【解析】CASE...WHEN...THEN...END CASE 实现多条件分支选择。
17. MySQL存储函数中,使用()语句返回值
A.OUT B.SELECT C.RETURN D.GET
【答案】C
【解析】RETURN expr 语句在存储函数中返回表达式的值。
18. 存储函数与存储过程的主要区别是()
A.存储函数有返回值,存储过程没有;存储函数只能作为表达式调用 B.存储函数不能有参数 C.存储过程不能返回值 D.没有区别
【答案】A
【解析】存储函数通过RETURN返回值,可像内置函数一样在SELECT中使用;存储过程通过OUT参数返回。
19. MySQL存储过程中,使用哪个关键字可以将结果返回给调用者()
A.RETURN B.SELECT C.OUT参数 D.GET
【答案】C
【解析】存储过程通过OUT参数或SELECT结果集返回数据,不使用RETURN返回值。
20. 在MySQL中,BEGIN...END块用于()
A.定义数据库 B.定义复合语句块(存储过程、触发器等) C.开始一个事务 D.创建表
【答案】B
【解析】BEGIN...END定义复合语句块,用于存储过程、函数等。
二、填空题(共10空,每空1分,共10分)
21. MySQL中,调用存储过程的命令关键字是_____。
【答案】CALL
【解析】CALL proc_name() 用于调用存储过程。
22. MySQL存储过程中,SET语句用于给变量进行_____。
【答案】赋值
【解析】SET var = value 用于修改变量的值。
23. MySQL中,创建存储函数使用CREATE_____关键字。
【答案】FUNCTION
【解析】CREATE FUNCTION func_name(...) RETURNS type 用于创建存储函数。
24. MySQL存储过程中,用于声明局部变量的关键字是_____。
【答案】DECLARE
【解析】DECLARE var_name type 用于声明变量。
25. MySQL存储过程中,IN参数用于向过程传入_____,OUT参数用于传出_____。
【答案】值/值
【解析】IN传入值,OUT传出值。
26. MySQL存储过程体使用BEGIN..._____包裹。
【答案】END
【解析】BEGIN...END包围存储过程或函数的过程体。
27. MySQL存储函数的调用方式是在表达式中直接写函数名,如SELECT func_name_____。
【答案】()
【解析】存储函数像内置函数一样在SELECT中使用。
28. MySQL存储函数通过_____语句返回值。
【答案】RETURN
【解析】RETURN expr 在函数体中将表达式的值返回给调用者。
29. SQL的中文含义是_____。
【答案】结构化查询语言
【解析】SQL是Structured Query Language的缩写,意为结构化查询语言。
30. MySQL存储函数体中至少需要包含_____条RETURN语句。
【答案】1
【解析】函数必须有返回值,至少包含一条RETURN。
三、判断题(共5题,每题1分,共5分)
31. MySQL存储过程可以没有参数。( )
【答案】正确
【解析】存储过程可以无参,也支持IN/OUT/INOUT参数。
32. COMMIT语句可以撤销事务中的操作。( )
【答案】×
【解析】COMMIT是提交事务,ROLLBACK才是撤销(回滚)事务。
33. MySQL存储函数与存储过程都可以使用OUT参数返回值。( )
【答案】X
【解析】存储函数用RETURN返回值,存储过程用OUT参数返回值。
34. MySQL存储过程中可以使用SELECT语句返回结果集。( )
【答案】正确
【解析】存储过程可以使用SELECT语句向调用者返回结果集。
35. 在MySQL中,一张表只能有一个索引。( )
【答案】×
【解析】一张表可以有多个索引,包括主键索引、唯一索引和普通索引。
四、写命令题(共5题,每题9分,共45分)
36. 已知有员工表emp(empno INT, ename VARCHAR(30), sal DECIMAL(10,2)),请写一个存储过程p_emp_count,返回员工表中工资大于给定值的员工人数。
【答案】
CREATE PROCEDURE p_emp_count(IN p_sal DECIMAL(10,2), OUT p_count INT)
BEGIN
SELECT COUNT(*) INTO p_count FROM emp WHERE sal > p_sal;
END//
【解析】本题考存储过程的IN/OUT参数,SELECT...INTO将聚合结果赋给输出参数。
37. 已知有成绩表score(sno INT, cname VARCHAR(30), grade INT),请写一个存储函数p_avg_grade,接收课程名参数,返回该课程的平均成绩。
【答案】
CREATE FUNCTION p_avg_grade(p_cname VARCHAR(30))
RETURNS DECIMAL(10,2)
BEGIN
DECLARE avg_grade DECIMAL(10,2);
SELECT AVG(grade) INTO avg_grade FROM score WHERE cname = p_cname;
RETURN avg_grade;
END//
【解析】本题考存储函数的创建:CREATE FUNCTION...RETURNS type...RETURN expr。
38. 已知有员工表emp(empno INT PRIMARY KEY, ename VARCHAR(30), sal DECIMAL(10,2), deptno INT),请写出SQL命令:分别查询各部门(按部门号分组)的最高工资和最低工资,以及获得最高工资的员工姓名。
【答案】
SELECT t.deptno, t.max_sal, t.min_sal, e.ename
FROM (
SELECT deptno, MAX(sal) AS max_sal, MIN(sal) AS min_sal
FROM emp
GROUP BY deptno
) t
JOIN emp e ON t.deptno = e.deptno AND t.max_sal = e.sal;
【解析】本题考查分组聚合查询与多表关联查询综合应用,核心函数为MAX()、MIN(),分组关键字GROUP BY。
39. 请写出创建一个事件e_daily_task,每天凌晨2点执行一次,调用存储过程p_daily_cleanup()。
【答案】
CREATE EVENT e_daily_task
ON SCHEDULE EVERY 1 DAY STARTS '2025-01-01 02:00:00'
DO CALL p_daily_cleanup();
【解析】本题考CREATE EVENT语句,EVERY指定周期,STARTS指定开始时间,DO调用存储过程。
40. 已知有学生表 student(sno INT, sname VARCHAR(20), sdept VARCHAR(10)),请写出 SQL 语句:创建视图 v_cs,查询计算机系(sdept='CS')学生的学号和姓名。
【答案】
CREATE VIEW v_cs AS
SELECT sno, sname FROM student WHERE sdept = 'CS';
【解析】本题考CREATE VIEW...AS SELECT语句创建条件视图。
学科网(北京)股份有限公司
$