2017年3月全国计算机二级MySQL数据库真题-第二套
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A) 12345ABCDE
B) EDCBA54321
C) ABCDE12345
D) 54321EDCBA
【解析】栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B)。
2下列叙述中正确的是(D长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(D)。
A)
B)
C)
D)
)。
A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D) 循环队列中元素的个数是由队头指针和队尾指针共同决定
【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)与C)错误。
3.长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(C)。
A)
B)
C)
D)
解析】当有序线性表为顺序存储时才能用二分法查找。
可以证明的是对于长度为的有序线性表
4. 下列叙述中正确的是(A)。
A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D) 链式存储结构比顺序存储结构节省存储空间
【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。
链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误
5 数据流图中带有箭头的线段表示的是(D)。
A) 控制流
B) 事件驱动
C) 模块调用
D) 数据流
【解析】数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。
6. 在软件开发中,需求分析阶段可以使用的工具是()。
A) N-S图
B) DFD图
C) PAD图
D) 程序流程图
【解析】在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表,所以选择B)。
7 在面向对象方法中,不属于"对象"基本特点的是()。
A) 一致性
B) 分类性
C) 多态性
D) 标识唯一性
解析】对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。
所以选择A
8 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(B)。
A) 一对一
B) 一对多
C) 多对一
D) 多对多
【解析】因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。
9 在数据管理技术发展的三个阶段中,数据共享最好的是()。
A) 人工管理阶段
B) 文件系统阶段
C) 数据库系统阶段
D) 三个阶段相同
解析】数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C)。
10有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为(D)。
A) 笛卡尔积
B) 交
C) 并
D) 自然连接
【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知R与S进行的是自然连接操作。
11下列关于E-R图向关系模式转换的描述中,正确的是
A) 一个多对多的联系可以与任意一端实体对应的关系合并
B) 三个实体间的一个联系可以转换为三个关系模式
C) 一个一对多的联系只能转换为一个独立的关系模式
D) 一个实体型通常转换为一个关系模式
解析】具有相同码的关系模式可合并;一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性;一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
A错、C错、D对。
三个实体间一个联系可转换为一个关系模式,B错。
答案D。
12 设有借书信息表,结构为:
借书信息(借书证号,借书人,住址,联系电话,图书号,书名,借书日期)
设每个借书人一本书只能借一次,则该表的主键是
A) 借书证号,图书号
B) 借书证号
C) 借书证号,借书人
D) 借书证号,图书号,借书日期
【解析】每个借书人一本书只能借一次,因此每个借书证号和每一图书号是1:1的关系。
B为1:n关系,C表达不了每个借书证号和每一图书号的关系,D和日期无关。
答案A。
13关于E-R图,以下描述中正确的是
A) 实体和联系都可以包含自己的属性
B) 联系仅存在于两个实体之间,即只有二元联系
C) 两个实体型之间的联系可分为1:1、1:N两种
D) 通常使用E-R图建立数据库的物理模型
【解析】联系可以有自己的属性,A对。
联系不仅存在于两个实际之间,也可以存在于多个实体之间,如实体分别是售货员、顾客、商品,联系销售,B错。
两个实体型之间的联系可分为1:1、1:N、m:n 三种,C错。
通常使用E-R图建立数据库的概念模型,D错。
答案A。
14 现有两个集合: SPECIALITY={计算机专业,信息专业},POSTGRADUATE={李林,刘敏},这两个集合的笛卡尔积为
A) {(计算机专业,李林),(计算机专业,刘敏),(信息专业,李林) ,(信息专业,刘敏)}
B) {(计算机专业,李林),(信息专业,刘敏)}
C) {(计算机专业,刘敏),(信息专业,李林)}
D) {计算机专业,信息专业,李林,刘敏}
【解析】两个集合</view/15216.htm>X和Y的笛卡儿积(Cartesian product),又称,表示为X × Y。
结果共有X中的元素和Y中的元素数的积个集合,本题结果共有2*2=4个集合。
答案A。
15 下列关于PRIMARY KEY和UNIQUE的描述中,错误的是
A) 两者都要求属性值唯一,故两者的作用完全一样
B) 每个表上只能定义一个PRIMARY KEY约束
C) 每个表上可以定义多个UNIQUE约束
D) 建立UNIQUE约束的属性列上,允许属性值为空
解析】UNIQUE可空,可以在一个表里的一个或多个字段定义;PRIMARY KEY 不可空不可重复,在一个表里可以定义联合主键,两者作用不全一样,A错。
主关键字(primary key)是一种唯一关键字,表定义的一部分,一个表只能有一个,且不可为空B对。
UNIQUED可空,可以在一个表里的一个或多个字段定义,C、D对。
答案A。
16 设有如下表达式:
CHECK(score>=0 AND score<=100)
关于该表达式,下列叙述中错误的是
A) CHECK是能够单独执行的SQL语句
B) 该表达式定义了对字段score 的约束
C) core的取值范围为0-100(包含0和100)
【解析】check是约束,不是单独执行SQL的语句,因此不能单独执行,A错。
表达式对字段score约束值的范围在0到100之间,B、C对。
对表进行更新时,会检查score的值是否满足check约束,满足才可执行更新语句。
答案A。
17 要消除查询结果集中的重复值,可在SELECT语句中使用关键字
A) UNION
B) DISTINCT
C) LIMIT
D) REMOVE
解析】union用于结合两条查询语句等,与是否有重复值无关,A错。
关键词DISTINCT 用于返回唯一不同的值,B对。
Limit用于限定select查询结果最大返回结果数量,C错。
Remove 用于删除配置信息等,D错。
答案B。
18 设有学生表student,包含的属性有学号sno、学生姓名sname、性别sex、年龄age、所在专业smajor。
下列语句正确的是
A) SELECT sno, sname FROM student ORDER BY sname
Union
SELECT sno, sname FROM student WHERE smajor='CS';
B) SELECT sno, sname FROM student WHERE sex='M'
Union
SELECT sno, sname, sex FROM student WHERE smajor='CS';
C) SELECT sno, sname FROM student WHERE sex='M' ORDER BY sname
Union
SELECT sno, sname FROM student WHERE smajor='CS';
D) SELECT sno, sname FROM student WHERE sex='M'
Union
解析】使用union,必须满足字段个数和类型必须一致,B选项错。
Union中不能使用order by,A、C 错。
答案D
19 在MySQL中,要删除某个数据表中所有用户数据,不可以使用的命令是
A) DELETE
B) TRUNCATE
C) DROP
D) 以上方式皆不可用
【解析】delete常用于数据删除;TRUNCATE TABLE将删除表中的所有记录;DROP语句,删除索引、表和数据库。
答案C。
20 设有客户表customers(id, name, tel),各字段的含义分别是客户编号、客户姓名和客户联系电话,
其中id字段设置为AUTO_INCREMENT属性,且当前表中id字段最大值为22306。
若此刻执行语句"INSERT INTO customers VALUES(22500,'李明',87556655);"之后,接着执行语句"INSERT INTO customers VALUES(0,'张良',87523012);",则此时该表中"张良"的客户编号是
A) 22501
B) 22500
C) 0
D) 22308
解析】Auto-increment 会在新记录插入表中时生成一个唯一的数字,此数字是原有的最大数字(22500)加1,即22501。
答案A。
21 以下关于使用ALTER TABLE 命令的叙述中,错误的是
A) 在ALTER TABLE命令中使用MODIFY能够更改字段名
B) ALTER TABLE命令能够更改字段的默认值
C) ALTER TABLE命令能够删除表中的字段
D) ALTER TABLE命令能够更改表名
解析】ALTER TABLE命令中使用MODIFY ,用于修改某些列的。
A错。
ALTER TABLE 语句用于在已有的表中添加、修改或删除列,也可改字段的默认值,改表名。
B、C、D正确。
答案A
22 要将员工表tb_emp中的年龄字段age更名为出生年份birth,下列语句中正确的是
A) ALTER TABLE tb_emp CHANGE COLUMN age birth YEAR(4);
B) ALTER TABLE tb_emp ADD COLUMN birth YEAR(4);
C) ALTER TABLE tb_emp ALTER COLUMN age birth YEAR(4);
D) ALTER TABLE tb_emp MODIFY COLUMN age birth YEAR(4)
解析】语法alter table tablename chang old_field_name new_field_name old_type; 改字段名用关键字change,B、C、D皆错。
答案A。
23 下列关于表和视图的叙述中错误的是
A) 表和视图上都可以创建索引
B) 视图可以和表一起使用
C) 表和视图的数据都可以进行更新操作,但视图的更新受限
D) 表和视图都可以使用SQL语句进行查询
解析】视图不可创建索引,A错。
视图是数据库数据的特定子集,可以和表一起使用,B对。
1、如果视图有一个基本关系的简单查询生成,而且它还包含了基本关系中的主关键字或是候选关键字,则可以通过这个视图进行更新操作2、不允许对涉及到多个基本关系的视图进行更新3、如果视图的生成中涉及到聚集或是分组操作,则不允许通过这个视图进行更新C对。
表显示可以用SQL 语句查询,视图也可。
D对。
答案A。
24 设有学生表Student(学号,姓名,系名,课程号,成绩),查询至少选修了4门课程的学生学号及平均成绩的正确语句是
A) SELECT 学号, AVG(成绩) AS 平均成绩FROM Student
GROUP BY 学号HAVING COUNT(课程号)>3
B) SELECT 学号, AVG(成绩) AS 平均成绩FROM Student
GROUP BY 课程号HAVING COUNT(课程号)>3
【解析】至少选4门课,因此GROUP BY(课程号)>3,C错。
同一人至少4门,因此group by 学号,B错、D错。
答案A。
25 存储过程和存储函数的主要区别在于
A) 存储函数可以被其它应用程序调用,而存储过程不能被其它应用程序调用
B) 存储过程中必须包含一条RETURN语句,而存储函数中不允许出现该语句
C) 存储函数只能建立在单个数据表上,而存储过程可以同时建立在多个数据表上
【解析】存储过程:可以使得对的管理、以及显示关于及其用户信息的工作容易得多。
存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。
存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。
它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
答案D。
26 在存储过程中,使用游标的一般流程是
A) 打开-->读取-->关闭
B) 声明-->读取-->关闭
C) 声明-->打开-->读取-->关闭
D) 声明-->填充内容-->打开-->读取-->关闭
【解析】使用游标的一般流程是声明、打开、读取、关闭。
C对,其它选项流程错误。
答案C。
27 设有学生成绩表score(sno, cno, grade),各字段含义分别是学生学号、课程号及成绩。
现有如下创建存储函数的语句:
CREATE FUNCTION fun()
RETURNS DECIMAL
BEGIN
DECLARE x DECIMAL
SELECT AVG(grade) INTO x FROM score
RETURN x
END;
以下关于上述存储函数的叙述中,错误的是
A) 表达式AVG(grade) INTO x 有语法错误
B) x是全体学生选修所有课程的平均成
C) fun没有参数
D) RETURNS DECIMAL指明返回值的数据类型
【解析】AVG(grade) INTO x 是将avg(grade)的值赋于x以作为函数返回值,语法正确,A错,B对。
存储函数fun()无参数C对。
Return 后跟函数返回类型,D对。
答案A
28 以下不能开启事件调度器的语句是
A) SELECT @@EVENT_SCHEDULER;
B) SET GLOBAL EVENT_SCHEDULER=1;
C) SET GLOBAL EVENT_SCHEDULER=TRUE
D) SET GLOBAL EVENT_SCHEDULER=ON
【解析】使用事件调度器必须先开启event_scheduler,开启的方法如下:
1、SET GLOBAL event_scheduler = ON
2、SET GLOBAL event_scheduler = 1;
3、SET @@global.event_scheduler = ON;
4、SET @@global.event_scheduler = 1; 答案A
29 在MySQL中编写函数、存储过程时,合法的流程控制语句不包括
A) FOR(...;...;...)循环语句
B) IF...ELSE(包括ELSEIF)条件语句
C) WHILE...END WHILE循环语句
D) CASE...WHEN...ELSE分支语句
【解析】流程控制语句没有FOR(… ,… ,…),A错。
If..else为一般常用的流程控制语句。
B对。
While…end while是循环的流程控制语句,C对。
Case..when ..else也是流程控制的一种,D对。
30 设有一个成绩表Student_JAVA(id,name,grade),现需要编写一个触发器,监视对该表中数据的插入和更新,并判断学生的成绩grade,如果成绩超过100分,在触发器中强制将其修改为100(最高分),那么应该将触发器定义为
A BEFORE触发器
B) AFTER触发器
C) AFTER触发器和BEFORE触发器都可以
D) AFTER触发器和BEFORE触发器都不可以
【解析】触发器中强制改,因为先更改值,后执行插入语句,用before触发器。
当执行插入语句时,先激活触发器,成绩超过100,刚改为100,然后执行插入语句。
答案A。
31 用户LISA在MySQL中建立了一个读者借阅图书数据库,在该数据库中创建了读者表、图书表和借阅表,并为该数据库添加了两个用户U1和U2,给U1授予对所有数据表的查询权限,给U2授予对所有数据表的插入权限,下列用户中不能使用CREATE USER创建用户的是
A) root
B) LISA
C) U1
D) U2
【解析】。
Root是超级管理员用记,拥有所有的权限,包括建用户的权限,A对。
lisa在本题中已建用户U1、U2,显然有建新用户的权限,B对。
U1只有查询权限,不具有创建用户的权限,C错,U2拥有插入权限,可建新用户,D对。
答案C。
32 修改用户登录口令的命令是
A) SET PASSWORD
B) UPDATE PASSWORD
C) CHANGE PASSWORD
D) MODIFY PASSWORD
【解析】修改用户登录口令用SET PASSWORD。
无B、C、D相当语句。
答案A。
33 常用的MySQL图形化管理工具不包括
A) phpMyAdmin
B) Navicat
C) MySQL Workbench
D) mysqldump
【解析】phpAdmin是在php环境下管理mysql数据库的工具,是一款功能非常强大的mysql页面管理工具。
avicat 是一套快速、可靠并价格相宜的数据库图形化管理工具,专为简化数据库的管理及降低系统管理成本而设。
workbench是操作数据库的界面环境。
mysqldump是备份整个数据库的命令,不是mysql管理工具。
答案D。
34 以下关于二进制日志文件的叙述中,错误的是mysqldump
A) 使用二进制日志文件能够监视用户对数据库的所有操作
B) 二进制日志文件记录所有对数据库的更新操作
C) 启用二进制日志文件,会使系统性能有所降低
D) 启用二进制日志文件,会浪费一定的存储空间
解析】mysql二进制日志文件用来记录所有用户对数据库执行更改操作,即记录用户对数据库插入、更新或者删除,不能够监视用户对数据库的所有操作,例如查询等。
答案A
35 列备份方式中不能同时备份表结构和数据的是
A) 使用SELECT INTO…OUTFILE语句
B) 使用mysqldump程序
C) 使用图形界面工具phpMyAdmin
D) 使用直接复制
【解析】SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,不能备份结构。
A错。
mysqldump是备份整个数据库、表的命令,B对。
phpAdmin是在php环境下管理mysql数据库的工具,备份表和结构只是其功能之一,C对。
直接复制可以备份数据和表结构。
D对。
答案A。
36 以下所列出的工作中,不属于数据库运行维护的工作是
A) 系统实现
B) 备份数据库
C) 性能检测
D) 安全性保护
【解析】系统实现在数据库维护之前。
备份数据库、性能检测、安全性保护是正常的数据库运行维护。
答案A
37 ySQL中,修改用户口令的语句是
A) SET PASSWORD
B) CHANGE PASSWORD
C) UPDATE PASSWORD
D) RENAME USER
解析】修改用户口令的语句是SET PASSWORD。
无B、C、D相当语句。
答案A
38 当数据库出现故障时,下列关于数据库恢复的叙述中错误的是
A) 数据库系统提供的恢复策略,可自动对数据库进行恢复,无需人工干预
B) 数据库恢复是以数据库备份为基础,如果数据库没有备份则无法恢复
C) 对数据库进行恢复时,应将最新的数据库副本加载到系统
D) 进行数据库恢复操作时,先执行一些系统安全性检查
【解析】数据库出现故障时,需人工干预恢复,A错。
数据库没有备份,刚没有恢复的依据,B对。
数据库恢复用最新的备份数据,C对。
恢复前要先进行安全性检查,D对。
答案A
39 设有如下语句:
CREATE USER newuser;
执行该语句后,如下叙述中正确的是
A) 未授权之前,newuser没有访问数据库的权限
B) 语句有错,没有指定用户口令
C) 语句有错,没有指定主机名
【解析】只是新建一个用户,未经授权,用户没有访问数据库的权限,A对,D错。
语法正常,B、C 错。
答案A。
40 在MySQL中,使用mysqldump并以root用户(密码"123")备份数据库mysql1和mysql2,以下正确的命令是
A) mysqldump -u root -p123 --databases mysql1 mysql2 > c:\backup\data.sql
B) mysqldump -u root -p 123 --databases mysql1 mysql2 > c:\backup\data.sql
C) mysqldump -u root -p123 --databases mysql1 mysql2 < c:\backup\data.sql
D) mysqldump -u root -p123 --database mysql1 mysql2 < c:\backup\data.sql
【解析】备份数据库的语法:mysqldump-user=root-password=root密码-lock-all-tables 数据库名>备份文件.sql。
p后紧跟密码即p123,B错。
数据库名后符号为">",C、D错。
答案A。
一个用于存放学生借阅图书信息的数据库JY,由学生信息表student、图书信息表book和借阅信息表reading构成。
其中,表student记录学生的学号、姓名、性别和年龄等信息;表book记录图书的书号、书名、作者和价格等信息;表reading描述图书借阅信息,并记录为学生办理图书借阅的老师姓名。
在考生文件夹下已创建了数据库JY、表student、表book和表reading,并初始化了相应数据,请考生查阅其结构与数据,完成下列操作。
注意:以下操作题必须编写相应的SQL语句,并至少执行一次该命令。
1) 在数据库JY中,使用CREATE语句创建一个记录出版社社号、社名和地址等信息的表publisher,包括pub_id(社号)、pub_name(社名)、pub_address(地址)等三个字段,相应的字段类型分别为整型、字符串型(char(30))和字符串型(char(30)),要求pub_id字段作为该表的主键,pub_name和
pub_address字
段不能为空。
2) 使用ALTER语句,修改表book的表结构,为其添加一个名为pub_post的列,用于关联图书的出版社信息,该列值允许为NULL,数据类型为整型。
3) 使用INSERT语句向表reading中添加如下一条借阅信息:名为"wen"的老师为学号0008的学生办理了书号为006的图书借阅。
4) 使用DELETE语句删除表reading中学号为0003学生的借阅信息。
5) 使用SELECT语句查询书号为003的书名,并此SELECT语句存入考生文件夹
1) 创建一个名称为v_student的视图,能够查询借阅了书名为"高等数学"的学生全部信息。
注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
2) 创建一个存储过程,功能是将书名中含有"计算机"的所有图书价格增加10%。
注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。
43、
在考生文件夹下存有一个sj3.php文件简单的PHP程序,可实现通过该程序从数据库JY中检索所有图书的信息,并以网页表格形式列出图书的书号、书名、价格和作者。
请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。