计算机二级中选择题是非常重要的,所以开始写一个每日一题的专栏。
答案及解析将在末尾公布!
今日主题:数据库编程基础
1、设 db_association 数据库中有社团表tb_group(gno, gname, gdate, gcomment)和学生参加社团表tb_gs(gno, sno, gjob),设有触发器:
CREATE TRIGGER trg_group BEFORE DELETE ON tb_group
FOR EACH ROW
DELETE FROM tb_gs WHERE tb_gs.gno = OLD.gno;
以下关于该触发器的叙述中,错误的是( )
A. 语法有误,FROM 子句中没有列出 OLD 表
B. OLD 是结构与 tb_group 相同的虚拟表
C. 删除表 tb_group 中的数据时,自动删除 tb_gs 表中具有相同 gno 的记录
D. 触发器响应 tb_group 表的删除操作
2、以下关于存储过程的特点,描述错误的是( )
A. 由于存储过程具有良好的封装性,所以当客户端从远程调用服务器端的存储过程时,会增加网络的负载
B. 使用存储过程可以在一定程度上保证数据库的安全性
C. 存储过程可用流程控制语句编写,可进行复杂的判断和一些较复杂的运算
D. 存储过程执行性能高
3、在 MySQL 中编写存储函数、存储过程时,不可以使用的循环语句是( )
A. WHILE…END WHILE 循环语句
B. FOR (…; …; …) 循环语句
C. REPEAT 循环语句
D. LOOP 循环语句
4、在 INSERT 触发器中,对于 AUTO_INCREMENT 列,NEW 在 INSERT 执行之前包含的值是( )
A. 原有值 + 1
B. 新的自动生成值
C. NULL
D. 0
5、PHP 中,选定某个数据库的函数是( )
A. mysql_select_db
B. mysql_pconnect_db
C. mysql_connect_db
D. mysql_query_db
6、在 MySQL 的命令行中调用带有一个参数的存储过程 sp 和存储函数 fn 的正确方法分别是( )
A. CALL sp('p1'), SELECT fn('p1');
B. SELECT sp('p1'), CALL fn('p1');
C. CALL sp('p1'), CALL fn('p1');
D. SELECT sp('p1'), SELECT fn('p1');
7、MySQL 常用的循环语句不包括( )
A. REPEAT 语句
B. LOOP 语句
C. DO…WHILE 语句
D. WHILE 语句
8、MySQL 中可对事件调度器进行开启操作的配置文件是( )
A. sql.ini
B. mysql.ini
C. my.ini
9、设有如下存储函数定义:
DELIMITER $$
CREATE FUNCTION countGroup(grp CHAR(10))
RETURNS INT
DETERMINISTIC
BEGIN
RETURN (SELECT COUNT(*) FROM tb_gs WHERE gno=grp);
END $$
DELIMITER ;
正确调用存储函数 countGroup 的语句是( )
A. SELECT db_association.countGroup('g100');
B. SHOW FUNCTION db_association.countGroup;
C. SELECT * FROM db_association.countGroup;
D. CALL db_association.countGroup('g100');
10、下列关于变量使用的描述中,正确的是( )
A. 各种变量都必须以 “@” 开头
B. 在存储函数中只能使用局部变量
C. 各种变量都必须使用 SET 语句进行定义
D. 局部变量只在 BEGIN-END 语句块之间有效
1、答案:A
解析:OLD 是触发器中引用被删除记录的虚拟表(与 tb_group 结构一致),语句正确,A 错误;触发器在删除 tb_group 前,删除 tb_gs 中关联的记录,C、D 正确。2、答案:A
解析:存储过程在服务器端执行,仅传输调用命令和结果,减少网络负载,A 错误;B、C、D 均正确,存储过程可封装逻辑、提高安全性和性能。3、答案:B
解析:MySQL 存储程序支持 WHILE、REPEAT、LOOP 循环,不支持类似 C 语言的for(i=0;i<10;i++)格式的 FOR 循环。4、答案:D
解析:AUTO_INCREMENT 列在 INSERT 前,NEW 虚拟表中该字段值为 0,执行后自动生成递增的值。5、答案:A
解析:mysql_select_db($dbname)用于选择数据库;mysql_connect用于连接服务器;B、C、D 均为错误函数名。6、答案:A
解析:存储过程用CALL调用,存储函数用SELECT调用(需返回值)。7、答案:C
解析:MySQL 中无 DO…WHILE 循环,其他三种均支持。8、答案:C
解析:my.ini 是 MySQL 的主要配置文件,可在其中设置event_scheduler=ON开启事件调度器。9、答案:A
解析:存储函数通过SELECT调用,需指定数据库名(若未切换到该库);CALL 用于存储过程,D 错误。10、答案:D
解析:局部变量用DECLARE声明,仅在 BEGIN-END 块中有效;用户变量以 @开头,系统变量以 @@开头(A 错误);存储函数中可使用局部变量和用户变量(B 错误);局部变量用 DECLARE 定义,无需 SET(C 错误)。
完整版 PDF(含二级更多题目题库)
点击下载
以上就是本期内容,如有错误请指正!


1193

被折叠的 条评论
为什么被折叠?



