全国计算机二级MySQL数据库程序设计真题


[1/43 选择题]取消收藏 考点

1.下列链表中,其逻辑结构属于非线性结构的是( )。

A.二叉链表

B.循环链表

C.双向链表

D.带链的栈

正确答案:A解析:【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。

查看答案 错题反馈

[2/43 选择题]取消收藏 考点

2.设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。

A.15

B.16

C.20

D.0或35

正确答案:D解析:【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为D选项。

查看答案 错题反馈

[3/43 选择题]取消收藏 考点

3.下列关于栈的叙述中,正确的是( )。

A.栈底元素一定是最后入栈的元素

B.栈顶元素一定是最先入栈的元素

C.栈操作遵循先进后出的原则

D.以上说法均错误

正确答案:C解析:【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或”后进先出”表,所以选择C。

查看答案 错题反馈

[4/43 选择题]取消收藏 考点

4.在关系数据库中,用来表示实体间联系的是( )。

A.属性

B.二维表

C.网状结构

D.树状结构

正确答案:B解析:【解析】关系模型实体间的联系采用二维表来表示,简称表。选项C为网状模型实体间的联系,选项D为层次模型实体间的联系,选项A属性刻画了实体。

查看答案 错题反馈

[5/43 选择题]取消收藏 考点

5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。

A.1:1联系

B.m:1联系

C.1:m联系

D.m:n联系

正确答案:C解析:【解析】两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系(1:1)、一对多联系(1:m)、多对一联系(m:1)、多对多联系(m:n)。对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系(1:m),答案选C。

查看答案 错题反馈

[6/43 选择题]收藏 考点

6.有两个关系R和S如下:

ms15-6-1
则由关系R得到关系S的操作是( )。

A.选择

B.投影

C.自然连接

D.并

正确答案:A解析:【解析】由关系R到关系S为一元运算,排除C和D。关系S是关系R的一部分,是通过选择之后的结果,因此选A。

查看答案 错题反馈

[7/43 选择题]取消收藏 考点

7.数据字典(DD) 所定义的对象都包含于( )。

A.数据流图(DFD图)

B.程序流程图

C.软件结构图

D.方框图

正确答案:A解析:【解析】在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选A项,而B、C、D三项都不符合。

查看答案 错题反馈

[8/43 选择题]收藏 考点

8.软件需求规格说明书的作用不包括( )。

A.软件验收的依据

B.用户与开发人员对软件要做什么的共同理解

C.软件设计的依据

D.软件可行性研究的依据

正确答案:D解析:【解析】软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。

软件需求规格说明书有以下几个方面的作用。

①便于用户、开发人员进行理解和交流,B项正确;

②反映出用户问题的结构,可以作为软件开发工作的基础和依据,C项正确;

③作为确认测试和验收的依据,A项正确。

查看答案 错题反馈

[9/43 选择题]取消收藏 考点

9.下面属于黑盒测试方法的是( )。

A.语句覆盖

B.逻辑覆盖

C.边界值分析

D.路径覆盖

正确答案:C解析:【解析】黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为C。而A、B、D均为白盒测试方法。

查看答案 错题反馈

[10/43 选择题]取消收藏 考点

10.下面不属于软件设计阶段任务的是( )。

A.软件总体设计

B.算法设计

C.制定软件确认测试计划

D.数据库设计

正确答案:C解析:【解析】从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以A、B、D正确,C项为软件测试阶段的任务。

查看答案 错题反馈

[11/43 选择题]收藏 考点

11.下列选项中,不属于数据库管理系统主要功能的是( )。

A.数据定义

B.数据结构化

C.数据操纵

D.数据库的运行管理

正确答案:B解析:

【解题思路】DBMS的主要功能包括数据定义、数据操纵、数据库的建立和维护功能、数据库的运行管理、提供方便、有效存取数据库信息的接口和工具,选项B错误,A、C、D正确。故答案为选项B。

查看答案 错题反馈

[12/43 选择题]取消收藏 考点

12.以下关于MySQL的叙述中,错误的是( )。

A.MySQL中不能使用中文作为数据表名

B.MySQL是开放源代码系统

C.MySQL支持结构化查询语言

D.MySQL支持多种存储引擎

正确答案:A解析:

【解题思路】MySQL具有体积小、速度快、开放源代码的特点,且支持结构化查询语言、多种存储引擎,可以使用中文、西文、数字作为数据表名,但在实际应用中,还是要避免使用中文作为数据表名或列名,选项A错误,B、C、D正确。故答案为选项A。

查看答案 错题反馈

[13/43 选择题]收藏 考点

13.以下不属于数据定义语言的SQL命令是( )。

A.ALTER

B.CREATE

C.UPDATE

D.DROP

正确答案:C解析:

【解题思路】数据定义语言DDL包括的SQL命令有:CREATE、ALTER、DROP。故答案为选项C。

查看答案 错题反馈

[14/43 选择题]取消收藏 考点

14.数据库的概念模型独立于( )。

A.E-R图

B.具体的计算机和DBMS

C.信息世界

D.现实世界

正确答案:B解析:

【解题思路】数据库的概念结构是对现实世界的一种抽象,通过对用户需求及数据的分析与综合,形成独立于具体的DBMS的概念模型。故答案为选项B。

查看答案 错题反馈

[15/43 选择题]取消收藏 考点

15.按照数据库规范化设计方法,可将数据库设计分为六个阶段,其中E-R图属于( )。

A.概念结构设计

B.需求分析

C.逻辑结构设计

D.物理结构设计

正确答案:A解析:

【解题思路】E-R图是对用户需求及数据的分析与综合,对现实世界的一种抽象,属于概念结构设计。故答案为选项A。

查看答案 错题反馈

[16/43 选择题]取消收藏 考点

16.WAMP是MySQL在Internet上构建网站与信息系统的一种应用环境,使用Windows作为操作系统,Apache作为Web服务器,数据库管理系统为MySQL,服务器端所使用的脚本语言是( )。

A.C

B.PHP

C.JAVA

D.C++

正确答案:B解析:

【解题思路】WAMP(Windows+Apache+MySQL+PHP/Perl/Python)即使用Windows作为操作系统、Apache作为Web服务器,MySQL作为数据库管理系统,PHP/Perl/Python作为服务器端脚本解释器,选项B正确,A、C、D错误。故答案为选项B。

查看答案 错题反馈

[17/43 选择题]收藏 考点

17.在SELECT语句中,指定需要查询的内容时,下列不可使用的是( )。

A.百分号通配符

B.列的别名

C.聚合函数

D.相应列参与计算的表达式

正确答案:A解析:

【解题思路】在MySQL中,通配符%代表任意字符,若要查询指定的内容,不能使用。故答案为选项A。

查看答案 错题反馈

[18/43 选择题]取消收藏 考点

18.下列不能用于删除索引的命令是( )。

A.ALTER TABLE

B.ALTER INDEX

C.DROP INDEX

D.DROP TABLE

正确答案:B解析:

【解题思路】在MySQL中,删除索引的命令有:ALTER TABLE、DROP INDEX、DROP TABLE,选项B错误,A、C、D正确。故答案为选项B。

查看答案 错题反馈

[19/43 选择题]取消收藏 考点

19.下列有关视图的叙述中,正确的是( )。

A.视图不能与表一起使用

B.视图可以创建索引

C.视图包含数据

D.视图可以嵌套

正确答案:D解析:

【解题思路】在MySQL中,视图是虚表,不存储数据,能与基本表一起使用,可以嵌套,但不可创建索引,选项D正确,A、B、C错误。故答案为选项D。

查看答案 错题反馈

[20/43 选择题]收藏 考点

20.下列有关MySQL完整性约束的叙述中,正确的是( )。

A.实体完整性可由主键约束或候选键约束来实现

B.对完整性约束只能进行添加操作

C.使用ALTER TABLE语句删除完整性约束的同时,会自动删除表本身

D.使用DROP TABLE语句删除一个表的同时,表中的完整性约束不会自动删除

正确答案:A解析:

【解题思路】在MySQL中,完整性约束可以在创建表时定义,也可以使用ALTER TABLE命令添加,实体完整性约束表中的主属性不能为空,可由主键或候选键来约束,若使用ALTER TABLE删除完整性约束,其数据表不会删除,但使用DROP TABLE删除表,其表上的完整性约束也一并删除,选项A正确,B、C、D错误。故答案为选项A。

查看答案 错题反馈

[21/43 选择题]收藏 考点

21.现有如下命令:

mysql –uroot –puser

以下关于上述命令的叙述中,错误的是( )。

A.该命令的作用是连接MySQL

B.用户名是root

C.用户密码是user

D.没有写明主机地址,命令执行有误

正确答案:D解析:【解题思路】连接MySQL的命令为:mysql –h主机名–u用户名 –p密码;在本题中,缺少主机名,用户名root,密码user,选项D错误,A、B、C正确。故答案为选项B。

查看答案 错题反馈

[22/43 选择题]收藏 考点

22.设有如下语句:

SELECT SUBSTRING(‘student’,4,3);

执行结果是( )。

A.den

B.stu

C.ent

D.uden

正确答案:A解析:

【解题思路】SUBSTRING(s,n,len)函数用于从字符串s的第n个位置开始获取长度为len的字符串。故答案为选项A。

查看答案 错题反馈

[23/43 选择题]取消收藏 考点

23.删除数据表student的语句是( )。

A.UPDATE TABLE student;

B.REMOVE TABLE student;

C.DROP TABLE student;

D.DELETE TABLE student;

正确答案:C解析:

【解题思路】MySQL中,删除数据表的基本语法格式为:DROP TABLE 表名;故答案为选项C。

查看答案 错题反馈

[24/43 选择题]取消收藏 考点

24.以下关于使用ALTER TABLE 命令的叙述中,错误的是( )。

A.在ALTER TABLE命令中使用MODIFY能够更改字段名

B.ALTER TABLE命令能够更改字段的默认值

C.ALTER TABLE命令能够删除表中的字段

D.ALTER TABLE命令能够更改表名

正确答案:A解析:

【解题思路】MySQL中,在ALTER TABLE命令中使用CHANGE能够更改字段名和数据类型,使用ALTER修改或删除表中指定列的默认值,使用RENAME修改表名,选项A错误,B、C、D正确。故答案为选项A。

查看答案 错题反馈

[25/43 选择题]收藏 考点

25.设smajor是student表中的一个字段,以下能够正确判断smajor字段是否为空值的表达式是( )。

A.smajor = NULL

B.smajor IS NULL

C.smajor=0

D.smajor=’’

正确答案:B解析:

【解题思路】判断某一个字段是否为空的语法格式为:字段 IS NULL;故答案为选项B。

查看答案 错题反馈

[26/43 选择题]取消收藏 考点

26.设有学生表student(sno,sname,sage,smajor),各字段的含义分别是学生学号、姓名、年龄和专业。要求输入一学生记录,学号为100,姓名为张红,年龄为20。以下不能完成如上输入要求的语句是( )。

A.INSERT INTO student VALUES(100,’张红’,20);

B.INSERT INTO student(sno,sname,sage,smajor) VALUES(100,’张红’,20,NULL);

C.INSERT INTO student VALUES(100,’张红’,20,NULL);

D.INSERT INTO student(sno,sname,sage) VALUES(100,’张红’,20);

正确答案:A解析:

【解题思路】向表中所有属性列插入值的方法有两种:一种是指定所有字段名,另一种是不指定字段名,不指定字段名时,值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同,为表的指定字段插入数据就是在INSERT语句中只给部分字段插入值,而其他字段的值为表定义时的默认值,没有定义默认值的字段应允许取空值NULL。选项A错误,B、C、D正确。故答案为选项A。

查看答案 错题反馈

[27/43 选择题]取消收藏 考点

27.设有学生表student(sno,sname,sage, smajor),要从student表中检索sname字段值第2个字是“红”的所有学生信息。以下能够按照上述条件进行检索的WHERE表达式是( )。

A.sname LIKE ‘%红_‘

B.sname LIKE ‘_红_‘

C.sname LIKE ‘%红%‘

D.sname LIKE ‘_红%‘

正确答案:D解析:

【解题思路】MySQL所支持的字符串匹配中,通配符有%和_,%代表任意长度字符,_代表任意单个字符,由题意可知,sname第2个字为’红’,语法格式为:sname like ‘_红%’。故答案为选项D。

查看答案 错题反馈

[28/43 选择题]收藏 考点

28.设有学生选课表score(sno,cname,grade),其中sno表示学生学号,cname表示课程名,grade表示成绩。以下能够统计每个学生选课数的语句是( )。

A.SELECT COUNT(*) FROM score GROUP BY sno ;

B.SELECT COUNT(*) FROM score GROUP BY cname ;

C.SELECT SUM(*) FROM score GROUP BY cname ;

D.SELECT SUM(*) FROM score GROUP BY sno ;

正确答案:A解析:

【解题思路】用GROUP BY按学号sno进行分组,聚合函数COUNT(*)用于统计分组后记录数目。故答案为选项A。

查看答案 错题反馈

[29/43 选择题]取消收藏 考点

29.创建表tb_account,并在表上建立触发器,代码如下:

CREATE TABLE tb_account (num INT, amount DECIMAL(10,2));

CREATE TRIGGER tr_acct AFTER INSERT ON tb_account

FOR EACH ROW SET @sum=@sum+NEW.amount;

以上代码执行成功后,tb_account表上不能再建立的触发器类型是( )。

A.AFTER UPDATE

B.BEFORE INSERT

C.AFTER INSERT

D.AFTER DELETE

正确答案:C解析:

【解题思路】在MySQL中,同一个表不能拥有两个具有相同触发时刻和事件的触发器。即一张表上不能定义两个相同的触发器,如定义两个AFTER INSERT触发器。故答案为选项C。

查看答案 错题反馈

[30/43 选择题]取消收藏 考点

30.以下叙述中,错误的是( )。

A.事件和触发器都不带参数

B.在存储过程中可以调用其它存储过程

C.事件在特定的时刻或特定的数据更新操作发生时执行

D.存储过程和存储函数都可以带参数

正确答案:C解析:

【解题思路】在MySQL中,事件是基于特定时间周期触发来执行某些任务,触发器是MySQL响应INSERT、DELETE、UPDATE语句而自动执行的一条MySQL语句,不允许带有参数,选项C错误,A正确;存储过程是一个可编程的函数,可以相互调用,存储函数和存储过程相似,可以有参也可以无参,选项B、D正确。故答案为选项C。

查看答案 错题反馈

[31/43 选择题]取消收藏 考点

31.创建存储函数fn_while()的代码如下:

DELIMITER $$

CREATE FUNCTION fn_while()

RETURNS INT

DETERMINISTIC

BEGIN

DECLARE id INT DEFAULT 0;

WHILE id <= 10 DO

SET id = id + 1;

END WHILE;

RETURN id;

END $$

fn_while()创建成功后,再执行SELECT fn_while(),显示的结果为( )。

A.12

B.10

C.0

D.11

正确答案:D解析:

【解题思路】由题意得知,局部变量id开始默认值为0,每循环一次id加1,WHILE循环共11次,则显示结果为11。故答案为选项D。

查看答案 错题反馈

[32/43 选择题]取消收藏 考点

32.创建存储过程pr_repeat的代码如下:

DELIMITER $$

CREATE PROCEDURE pr_repeat(OUT id INT)

BEGIN

SET id=0;

REPEAT

SET id = id + 1;

UNTIL id > 10

END REPEAT;

END $$

pr_repeat创建成功后,能正确调用pr_repeat并查看返回结果值的是( )。

A.CALL pr_repeat(@id);

SELECT @id;

B.CALL pr_repeat(id);

SELECT @id;

C.CALL pr_repeat(@id);

SELECT id;

D.CALL pr_repeat(id);

SELECT id;

正确答案:A解析:

【解题思路】由题意得知,创建存储过程pr_repeat(OUT id INT),局部变量id只能在BEGIN…END语句块中有效,则调用存储过程pr_repeat需使用用户变量,用户变量以’@’开头,故调用存储过程为CALL pr_repeat(@id),使用SELECT @id命令查看结果。故答案为选项A。

查看答案 错题反馈

[33/43 选择题]取消收藏 考点

33.给定如下代码:

CREATE TABLE tb_account(num INT, amount DECIMAL(10,2));

CREATE TRIGGER tr_acct AFTER INSERT ON tb_account

FOR EACH ROW SET @sum=@sum+NEW.amount;

表和触发器成功创建后,执行如下命令:

SET @sum=0.00;

INSERT INTO tb_account VALUES(1,7.00);

INSERT INTO tb_account VALUES(2,3.00);

上述代码执行成功后@sum的值为( )。

A.7.00

B.3.00

C.10.00

D.0.00

正确答案:C解析:

【解题思路】由题意得知,在tb_account表上创建触发器tr_acct触发修改用户变量@sum的值,执行第一个INSERT语句,触发触发器tr_acct使@sum值变成7.00,由于用户变量存储在静态存储区,触发结束后其值不释放,因此执行第二个INSERT语句,@sum值变成10.0即7.0+3.0。故答案为选项C。

查看答案 错题反馈

[34/43 选择题]收藏 考点

34.下列SQL语句中能查看MySQL数据库用户帐号的是( )。

A.SELECT user FROM mysql.user;

B.SELECT USER( );

C.SELECT * FROM user;

D.SELECT user FROM mysql;

正确答案:A解析:

【解题思路】mysql数据库中的user表存储用户账户信息,则查看MySQL数据库用户账户信息的基本语法格式为:SELECT user FROM mysql.user;其中第一个user为user表中的属性列。故答案为选项A。

查看答案 错题反馈

[35/43 选择题]收藏 考点

35.在MySQL中,使用CREATE USER语句创建用户帐号时,用于指定帐号对应口令的子句是( )。

A.PASSWORD

B.INDENTIFIED WITH

C.INDENTIFIED BY

D.SET PASSWORD

正确答案:C解析:

【解题思路】MySQL中,使用CREATE USER语句创建用户帐号时,使用 IDENTIFIED BY指定密码。故答案为选项C。

查看答案 错题反馈

[36/43 选择题]收藏 考点

36.语句“SELECT * FROM db_test.tb_customer INTO OUTFILE ‘D:/test.txt’;”的功能是( )。

A.将db_test数据库中tb_customer表的全部数据备份到D盘的test.txt文件中

B.查询数据库db_test中表tb_customer的全部数据

C.将D盘的test.txt文件中的全部数据导入到db_test数据库的tb_customer表中

D.查询D盘的test.txt文件中存储的db_test数据库中tb_customer表的记录

正确答案:A解析:

【解题思路】使用SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中进行备份,其基本语法格式为:SELECT * FROM 数据库.数据表 INTO OUTFILE 文件路径名。故答案为选项A。

查看答案 错题反馈

[37/43 选择题]取消收藏 考点

37.在MySQL中,若要授予用户wang在db_test数据库的tb_customer表上拥有查询和插入权限,并允许其将该权限授予其他用户,下列语句正确的是( )。

A.GRANT SELECT, INSERT ON db_test.tb_customer TO ‘wang’@’localhost’ WITH GRANT OPTION;

B.GRANT SELECT, INSERT ON db_test.tb_customer TO ‘wang’@’localhost’;

C.GRANT SELECT ON db_test.tb_customer TO ‘wang’@’localhost’ WITH GRANT OPTION;

D.GRANT SELECT, INSERT ON db_test.tb_customer TO ‘wang’@’localhost’ WITH CHECK OPTION;

正确答案:A解析:

【解题思路】给某个用户授权并允许其将权限转移的基本语法格式为;GRANT 权限 ON 数据库.数据表 TO 用户名 WITH GRANT OPTION;故答案为选项A。

查看答案 错题反馈

[38/43 选择题]收藏 考点

38.在MySQL中手动删除所有二进制日志文件的命令是( )。

A.RESET MASTER;

B.PURGE MASTER LOGS;

C.DELETE BINARY LOGS;

D.PURGE MASTER LOGS BEFORE CURDATE( );

正确答案:A解析:

【解题思路】MySQL中,手动清除所有二进制日志文件的命令为RESET MASTER;故答案为选项A。

查看答案 错题反馈

[39/43 选择题]取消收藏 考点

39.当一个二进制日志文件bin_log.000005的文件大小达到最大时,以下描述中正确的是( )。

A.系统将自动创建一个新的二进制日志文件

B.系统将不再保存后续对数据库的更新日志

C.系统将会对原有二进制日志文件bin_log.000005进行重写

D.系统将关闭该二进制日志文件

正确答案:A解析:

【解题思路】二进制日志文件以二进制形式存储,用于保存数据库更新信息,当这个日志文件的大小达到最大时,MySQL会自动创建一个新的二进制文件。故答案为选项A。

查看答案 错题反馈

[40/43 选择题]取消收藏 考点

40.当MySQL中的数据库出现故障后,可以使用最新的数据库备份文件恢复数据库,若要最大可能地恢复数据库,还应使用( )。

A.数据库备份文件

B.二进制日志文件

C.数据库备份文件

D.数据库备份文件

正确答案:B解析:

【解题思路】二进制日志文件包含了数据备份后进行的所有更新,因此二进制日志的主要目的就是在数据恢复时能够最大可能地更新数据库。故答案为选项B。

查看答案 错题反馈

[41/43 基本操作题]收藏 考点

41.在考生文件夹下有kwgl数据库,存放试题中所提及的数据表。

kwgl数据库中有学生基本信息表student和系别表dept。表结构及说明如下:

student(sid,sname,score,deptno),各字段的含义分别是:学号、姓名、成绩、系别编号。

dept(deptno,deptname),各字段的含义分别是:系别编号、系名称。

1.在数据库中建立数据表S,包含的字段有编号(SNO,主键,自动增长整数列)、姓名(SName,字符类型,长度为10)、性别(Sex,字符类型,长度为1)、年龄(Age,整型)。请使用SQL语句创建该表。

2. 在学生基本信息表student的deptno字段上创建一个名称为in_stu的升序索引。

3.针对学生基本信息表student,请使用SQL语句统计不同系别学生的平均成绩。要求统计输出的列标题(别名)是:系别、平均成绩。请将该SQL语句以sj13.txt为文件名存入考生文件夹。

student(sid,sname,score,deptno),各字段的含义分别是:学号、姓名、成绩、系别编号。dept(deptno,deptname),各字段的含义分别是:系别编号、系名称。

4.请使用SQL语句查询“数学系”所有学生的学号、姓名和成绩。将该SQL语句以sj14.txt为文件名存入考生文件夹。

5. 创建一个新用户,用户名为“wang”,密码为“test1234”,指定登录服务器的IP为:192.168.2.12。

正确答案:解析:1.【答案】

CREATE TABLE S(

sNo INT PRIMARY KEY AUTO_INCREMENT,

sName CHAR(10),

Sex CHAR(1),

Age INT);

【解题思路】语法:create table 表名(列1 int primary key auto_increment,列2 数据类型 ,列3 数据类型…)

2.【答案】CREATE INDEX in_stu ON student(deptno);

【解题思路】语法:

1、create index 索引名 on 表名(字段名);

2、ALTER TABLE 表名 ADD INDEX 索引名 (字段名)

3.【答案】

SELECT deptno AS 系别 ,AVG(score) AS 平均成绩 FROM student GROUP BY deptno ;

【解题思路】由题可知查询不同系别的平均成绩,知识点是分组查询和AVG()函数

select语句: 查询的结果是 deptno系别 AVG(score)平均成绩 from 表名 group by deptno

4.【答案】

SELECT sid,sname,score FROM student WHERE deptno=(SELECT deptno FROM dept WHERE deptname=’数学系’);

【解题思路】知识点:子查询,

首先SELECT deptno FROM dept WHERE deptname=’数学系’中找到数学系对应的系别deptno ,然后把系别作为条件在student表中查询所需信息即SELECT sid,sname,score FROM student WHERE deptno=();

5.【答案】

/*使用mysql数据库*/

USE mysql;

/*向用户表中添加一个test用户*/

INSERT INTO USER(HOST,USER,PASSWORD) VALUES(‘192.168.2.12′,’wang’,’test1234′);

/*重启数据库*/

FLUSH PRIVILEGES;

【解题思路】

语法:INSERT INTO mysql (HOST,USER,PASSWORD) VALUES (“主机名”,”用户名”,”密码”);

查看答案 错题反馈

[42/43 简单应用题]收藏 考点

42.在考生文件夹下有kwgl数据库,存放试题中所提及的数据表。

1. 现有Customers表,其中列customerNumber为客户编号(整数列)、列creditlimit信贷限额(整数列)记录了用户当前的透支上限。现创建一个存储过程,要求根据输入的客户编号,通过一个输出参数返回用户的评级情况(字符串)。若当前信贷限额大于50000,则用户评级为 “1st Level”;若当前信贷限额大于等于10000且小于等于50000,则用户评级为“2nd Level”;若当前信贷限额小于10000,则用户评级为 “3rd Level”。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

2.kwgl数据库中有学生基本信息表student,系别表dept。表结构及说明如下:

student(sid,sname,score,deptno),各字段的含义分别是:学号、姓名、成绩、系别编号。

dept(deptno,deptname),各字段的含义分别是:系别编号、系名称。

请修改函数GetAvgScoreByDeptName计算指定系的学生平均成绩,输入系名字符串,返回DOUBLE类型的平均成绩。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

正确答案:解析:1.【答案】

DELIMITER $$

CREATE (1) GetCustomerLevel(

in p_customerNumber int(11),

(2) p_customerLevel varchar(10))

BEGIN

DECLARE creditlim int;

SELECT creditlimit INTO creditlim

FROM customers

WHERE customerNumber = p_customerNumber;

IF creditlim > 50000 THEN

SET p_customerLevel = ‘1st Level’;

ELSEIF ((3)) THEN

SET p_customerLevel = ‘2nd Level’;

ELSEIF creditlim < 10000 THEN

SET p_customerLevel = ‘3rd Level’;

END IF;

END $$

DELIMITER ;

答案:(1)PROCEDURE (2)out (3)creditlim <=50000

【解题思路】根据创建存储过程的语法结构填空,

1、(1)处应填写关键字PROCEDURE

2、in 变量 类型 传入的值 ;out 变量 类型 传出的值,故(2)处填写out

3、由If 。。。elseif条件分支结构。可知(3)处应该填写creditlim <=50000

2.【答案】

DELIMITER $$

CREATE FUNCTION GetAvgScoreByDeptName(name char(10))

RETURNS (1)

DETERMINISTIC

BEGIN

DECLARE tmpscore INT DEFAULT 0;

DECLARE counter INT DEFAULT 0;

DECLARE total INT DEFAULT 0;

DECLARE avgval DOUBLE DEFAULT 0;

DECLARE FOUND BOOLEAN DEFAULT TRUE;

DECLARE each_student CURSOR FOR

SELECT score FROM student s,dept d

WHERE d.deptname=(2) and s.deptno=d.deptno;

DECLARE CONTINUE HANDLER FOR NOT FOUND

SET FOUND=false;

OPEN each_student;

FETCH each_student INTO tmpscore;

WHILE FOUND DO

SET counter=counter+1;

SET total=(3);

FETCH each_student INTO tmpscore;

END WHILE;

CLOSE each_student;

SET avgval=total/counter;

RETURN avgval;

END $$

DELIMITER ;

答案:(1)DOUBLE (2)name (3)tmpscore+total

【解题思路】根据创建存储函数的语法结构填空,

1、返回值是Double类型所以RETURNS DOUBLE,即(1)处填写DOUBLE

2、传入的参数name指的的是系的名字,所以通过联表查询语句SELECT score FROM student s,dept d

WHERE d.deptname=name and s.deptno=d.deptno从student表和dept表得到 学生的成绩 score,故(2)处填写的是name

3、根据题意可知查询每个学生的成绩过后 tmpscore再依次累加保存在总分变量total:因此(3)处应填total=tmpscore+total;

查看答案 错题反馈

[43/43 综合应用题]收藏 考点

43.在考生文件夹下有kwgl数据库,存放试题中所提及的数据表。

kwgl数据库中有学生基本信息表student,系别表dept。表结构及说明如下:

student(sid,sname,score,deptno),各字段的含义分别是:学号、姓名、成绩、系别编号。

dept(deptno,deptname),各字段的含义分别是:系别编号、系名称。

在考生文件夹下有一个sj3.php页面,如下图所示:

初始情况下(即直接访问sj3.php时),显示出deptno=10001的院系。然后,在下拉框中列出所有院系的名称(deptname),在点击提交按钮时,根据用户的选择,使用Get方式,再次将请求发送到本页面进行服务器端处理,根据Get中参数deptno指定的院系编号,检索student表,显示指定院系所有学生的学号和成绩;在此响应中,需保持下拉框中院系的选择情况与用户提交时的选择情况一致。如下图所示:

请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。

正确答案:解析: 答案:(1) mysql_connect (2) $con (3) deptno=$deptno (4) mysql_fetch_array (5) submit

解析:对于数据库操作,首先是进行数据库连接操作,因此(1)处填写的是mysql_connect,在数据库选择函数中需要加上连接语句,因此(2)处填写的是$con,由于本程序是要根据提交的学号进行查询,因此(3)处应该填写deptno=$deptno,(4)空的操作是对查询结果作为遍历的参数,因此(4)处填的是mysql_fetch_array, (5)处的input类型为submit。

查看答案 错题反馈