内容正文:
《数据库原理与应用技术--MySQL》
期末复习卷(八)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共25小题,每小题2分,共50分)
1、数据库系统与文件系统的根本区别是,数据库系统具有( )特征。
A. 独立性 B. 结构化
C. 共享性 D. 冗余度
2、一个银行可以有多个客户,一个客户也可以在多个银行进行存取款,银行和客户之间的关系是( )。
A. 一对一 B. 多对多
C. 一对多 D. 一对一和多对多
3、数据库系统通常采用三级模式结构,分别是外模式、模式和内模式,这三级模式分别对应数据库的( )。
A. 视图、基本表和存储文件 B.视图、存储文件和基本表
C. 基本表、视图和存储文件 D. 存储文件、视图和基本表
4、数据表中字段的数据类型定义为INT(2),在输入对应的值是236,则查询显示为( )。
A. 23 B. 236 C. 36 D. NULL
5、关于MySQL的说法中,错误的是( )。
A. MySQL是最流行的关系型数据库管理系统
B. 默认的端口号为3306
C. 可为多种编程语言提供API
D. 版本有社区版、商业版和升级版三种
6、在命令提示符中输入开始NET START MYSQL57之后出现“发生系统错误5”的原因是( )。
A. 安装路径发生错误 B. 命令输入有误,应是小写字母
C. 没有以管理员身份开启命令提示符 D. 没有分号结束符
7、表达式SELECT 1+3 << 3 *9-NULL+10的结果为( )。
A. NULL B. 1 C. 5 D. 13
8、使用VARCHAR(6)数据类型存储字符串“smile”,占用的字节数为( )。
A. 6 B. 5 C. 4 D. 3
9、表达式SELECT REVERSE(“SJK”),LOCATE(“FATHER”,”GRANDFATHER”)( )。
A. KSJ 5 B. SJK 6
C. SJK 7 D. KJS 6
10、下列运算符中优先级最高的是( )。
A. NOT B. + C. ! D. LIKE
11、使用SHOW DATABASES命令查看数据库,默认会显示( )。
A. 所有的用户数据库 B. 所有的系统数据库
C. 所有的数据库 D. 前5个数据库
12、下列哪项不是在使用CREATE TABLE命令时被规定的( )。
A. 记录 B. 唯一约束 C. 数据类型 D. NOT NULL
13、使用USE 数据库名;命令执行完毕后,系统提示内容为( )。
A. row in set
B. Changed Database
C. It is OK
D. Database Changed
14、在为表添加记录时,如不指定字段名,则( )。
A. 会报错
B. 不可以不指定字段名
C. 会按照表中字段的顺序依次赋值
D. 只能添加一条新记录
15、删除表abc中的id列,正确的语句为( )。
A. ALTER TABLE abc DROP id;
B. DELETE TABLE abc DROP id;
C. ALTER TABLE abc DELETE id;
D. CREATE TABLE abc DROP id;
16、如使用DROP TABLE删除的表是不存在的MySQL默认会( )。
A. 忽略此操作
B. 不执行删除命令
C. 报错,提示表未知
D. 提示是否创建此表
17、主键索引是由PRIMARY KEY约束定义的一种特殊的唯一性索引,在InnoDB中也被称为( )。
A. 辅助索引 B. 聚簇索引 C. 非聚簇索引 D. 单列索引
18、当要删除一个被其它表引用的主表时,正确的顺序是( )。
A. 先删除主表,再删除引用的表
B. 先删除引用的主表的表,再删除主表
C. 直接删除主表
D. 先删除表之间的引用关系,再删除主表
19、在SELECT语句的FROM子句中可以指定多个数据表或视图,相互之间用( )分隔。
A. 分号 B. 空格 C. 冒号 D. 逗号
20、创建表时某字段未设置NOT NULL属性,则在插入数据时未插入该字段对应的值,该字段显示的值是( )。
A. NULL B. 0
C. 空字符串 D. 插入数据语句报错
21、能够实现删除表kfc中的kele索引,正确的语句为( )。
A. ALTER TABLE kfc DELETE INDEX kele;
B. ALTER TABLE kfc DROP kele;
C. DROP INDEX kele ON kfc;
D. DROP INDEX kfc ON kele;
22、关于视图与表的区别,错误的是( )。
A. 视图的更新操作比表灵活
B. 视图是基于表定义的或者基于已有的视图
C. 在表上可以建立索引,视图上不可以直接建立
D. 实际存储数据的是表
23、当触发器在执行过程中出错,会出现的是( )。
A. 停止执行但不回滚 B. 回滚整个事务
C. 继续执行忽视错误 D. 暂停执行
24、数据库物理设计完成后,进入数据库实施阶段,以下工作中不属于实施阶段的是( )。
A. 建立数据库结构 B. 扩充功能
C. 加载数据 D. 系统调试
25、实现备份数据库shop中两个表clothes和shoes到D盘文件beifen.sql中,正确的语句为( )。
A. MYSQLDUMP -uroot -hlocalhost -p shop clothes shoes >D:\beifen.sql;
B. MYSQLDUMP -uroot -hlocalhost -p shop clothes,shoes >D:\beifen.sql;
C. MYSQLDUMP -uroot -hlocalhost -p shop clothes shoes D:\beifen.sql;
D. MYSQLDUMP -uroot -hlocalhost -p shop clothes shoes l;
二、判断题(本大题共10小题,每小题1分,共10分)
1、在计算机中用来描述事物的信息都可以称之为数据。( )
2、MySQL是一个多用户、多线程、功能强大的数据库管理系统。( )
3、MySQL的单行注释语句只可以使用双减号作为注释的开始。( )
4、表达式SELECT NULL <=> 1的结果是1。( )
5、如创建数据库时不指定字符集和排序规则,则数据库将使用服务器的默认字符集和排序规则。( )
6、可以使用一条命令SHOW CREATE TABLE查看多个数据表的信息。( )
7、当一个字段为主键约束,这时向该字段插入重复的值时,会拒绝插入。( )
8、视图的存在会占用存储空间。( )
9、在MySQL中可以定义没有参数的存储过程。( )
10、在数据库设计中,逻辑设计阶段的结果是唯一的。( )
三、填空题(本大题共10小题,每小题1分,共10分)
1、在MySQL客户端输入密码,会出现命令提示符_________。
2、在逻辑运算符中,单操作数运算符是_______。
3、位运算符是针对_________的每一位进行运算的符号。
4、排序规则是在同一个字符集内字符之间的比较规则,一个字符集可能对应________排序规则。
5、同一个数据表中,不能出现重名字段,但不同数据表中的字段_________(可以/不可以)重名。
6、查询操作用于从数据表中筛选出符合需求的数据,查询得到的结果集是_________模式,按照表的形式组织并显示。
7、条件表达式WHERE LEFT(姓名,1)=”张”查找的是_________。
8、在MySQL中,校对集的名称用_________分隔的3部分组成。
9、一个表中的主键是由多个字段组成的,则称之为_________。
10、删除用户”Tom”的语句为_________。
四、SQL语句题(本大题共5小题,每小题3分,共15分)
有如下表
pupil表结构
字段名
说明
数据类型
属性
Pid
学号
INT
NOT NULL
Pname
姓名
VARCHAR(10)
Psex
性别
CHAR(1)
Page
年龄
INT
DEFAULT 18
pclass
班级
VARCHAR(5)
Score表记录
学号
课程名
成绩
2101
语文
123
2103
数学
98
2104
英语
83
2105
语文
79
2101
数学
90
2103
英语
79
2104
语文
68
2105
英语
94
1、创建数据库school,并指定字符集为gb2312,排序规则为gb2312_chinese_cs。
2、根据表中信息,创建如上表pupil。
3、给表的Pclass字段设置默认值为1班。
4、查询平均成绩大于80的学号及平均成绩。
5、插入表中一条记录学号2109,姓名为艾利,女,年龄19,班级1班,。
五、读程序题(每空3分,共15分)
1、读程序,根据程序写对应的结果。
CREATE EVENT IF NOT EXISTS abc
ON SCHEDULE AT “2026-07-10 18:30:00”ON COMPLETION PRESERVE
DO
DELETE FROM score WHERE 语文<60;
以上事件的功能是_________
2、读以下程序写出调用存储过程后的结果_________
CREATE PROCEDURE compare(IN num int)
begin
case num
when 1 then select"num is 1";
when 2 then select"num is 2";
else select"num is not 1 or 2";
end case;
End;
CALL compare(10);
【答案】num is not 1 or 2
3、创建存储函数search_name,根据输入的用户名name,在student表中查找该学生(student中姓名在sname字段中存储),若有该学生,返回TRUE,否则返回FALSE,补全以下程序
DELIMITER //
CREATE ____(1)_____ search_name (name VARCHAR(10))
RETURNS BOOLEAN
BEGIN
DECLARE i INT;
SELECT____(2)_____ FROM student WHERE sname=name;
IF i>0 THEN
RETURN TRUE;
ELSE
RETURN ____(3)_____;
END IF;
END //
DELIMITER ;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《数据库原理与应用技术--MySQL》
期末复习卷(八)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共25小题,每小题2分,共50分)
1、数据库系统与文件系统的根本区别是,数据库系统具有( )特征。
A. 独立性 B. 结构化
C. 共享性 D. 冗余度
【答案】B
【解析】在数据库中,数据是结构化的,要求在描述数据时不仅描述数据本身,还要描述数据之间的关系,是数据库系统与文件系统的根本区别。
2、一个银行可以有多个客户,一个客户也可以在多个银行进行存取款,银行和客户之间的关系是( )。
A. 一对一 B. 多对多
C. 一对多 D. 一对一和多对多
【答案】B
【解析】实体之间的联系分为三种,一对一、一对多和多对多,题目描述的银行和客户两个实体是多对多的关系。
3、数据库系统通常采用三级模式结构,分别是外模式、模式和内模式,这三级模式分别对应数据库的( )。
A. 视图、基本表和存储文件 B.视图、存储文件和基本表
C. 基本表、视图和存储文件 D. 存储文件、视图和基本表
【答案】A
【解析】外模式通过视图实现,基本表是模式的具体体现,内模式是存储文件。
4、数据表中字段的数据类型定义为INT(2),在输入对应的值是236,则查询显示为( )。
A. 23 B. 236 C. 36 D. NULL
【答案】B
【解析】正常显示为236,数据类型中的2为显示宽度,仅影响客户端显示的字符位数,不限制数据存储范围,236是INT的正常数值范围。
5、关于MySQL的说法中,错误的是( )。
A. MySQL是最流行的关系型数据库管理系统
B. 默认的端口号为3306
C. 可为多种编程语言提供API
D. 版本有社区版、商业版和升级版三种
【答案】D
【解析】MySQL版本有两种分别是社区版和商业版。
6、在命令提示符中输入开始NET START MYSQL57之后出现“发生系统错误5”的原因是( )。
A. 安装路径发生错误 B. 命令输入有误,应是小写字母
C. 没有以管理员身份开启命令提示符 D. 没有分号结束符
【答案】C
【解析】错误原因是没有以管理员身份打开命令提示符。
7、表达式SELECT 1+3 << 3 *9-NULL+10的结果为( )。
A. NULL B. 1 C. 5 D. 13
【答案】A
【解析】有NULL参与运算,结果为NULL。
8、使用VARCHAR(6)数据类型存储字符串“smile”,占用的字节数为( )。
A. 6 B. 5 C. 4 D. 3
【答案】A
【解析】VARCHAR类型占用的字节数为实际长度加一。
9、表达式SELECT REVERSE(“SJK”),LOCATE(“FATHER”,”GRANDFATHER”)( )。
A. KSJ 5 B. SJK 6
C. SJK 7 D. KJS 6
【答案】D
【解析】REVERSE是反转函数,LOCATE是位置函数,返回字符串1在字符串2中出现的位置。
10、下列运算符中优先级最高的是( )。
A. NOT B. + C. ! D. LIKE
【答案】C
【解析】!的优先级是最高的,为取反操作。
11、使用SHOW DATABASES命令查看数据库,默认会显示( )。
A. 所有的用户数据库 B. 所有的系统数据库
C. 所有的数据库 D. 前5个数据库
【答案】C
【解析】SHOW DATABASES命令默认会显示所有的数据库包括系统数据库和用户数据库。
12、下列哪项不是在使用CREATE TABLE命令时被规定的( )。
A. 记录 B. 唯一约束 C. 数据类型 D. NOT NULL
【答案】A
【解析】CREATE TABLE是创建表结构,记录属于表内容。
13、使用USE 数据库名;命令执行完毕后,系统提示内容为( )。
A. row in set
B. Changed Database
C. It is OK
D. Database Changed
【答案】D
【解析】会提示数据库已发生变化Database changed。
14、在为表添加记录时,如不指定字段名,则( )。
A. 会报错
B. 不可以不指定字段名
C. 会按照表中字段的顺序依次赋值
D. 只能添加一条新记录
【答案】C
【解析】INSERT INTO往表中添加新记录时,可以指定字段名,也可以不指定,如不指定则按照表中字段的顺序依次进行赋值。
15、删除表abc中的id列,正确的语句为( )。
A. ALTER TABLE abc DROP id;
B. DELETE TABLE abc DROP id;
C. ALTER TABLE abc DELETE id;
D. CREATE TABLE abc DROP id;
【答案】A
【解析】删除字段属于修改表结构,语句格式为ALTER TABLE 表名 DROP 字段名;。
16、如使用DROP TABLE删除的表是不存在的MySQL默认会( )。
A. 忽略此操作
B. 不执行删除命令
C. 报错,提示表未知
D. 提示是否创建此表
【答案】C
【解析】如删除的表是不存在的,会发出错误提示,表是未知的ERROR 1051 (42S02): Unknown table。
17、主键索引是由PRIMARY KEY约束定义的一种特殊的唯一性索引,在InnoDB中也被称为( )。
A. 辅助索引 B. 聚簇索引 C. 非聚簇索引 D. 单列索引
【答案】B
【解析】在InnoDB存储引擎中数据的保存顺序与主键索引的顺序一致也被称为聚簇索引。
18、当要删除一个被其它表引用的主表时,正确的顺序是( )。
A. 先删除主表,再删除引用的表
B. 先删除引用的主表的表,再删除主表
C. 直接删除主表
D. 先删除表之间的引用关系,再删除主表
【答案】D
【解析】主表被其他表引用,若要删除,先解除两个表之间的引用关系,再进行主表的删除。
19、在SELECT语句的FROM子句中可以指定多个数据表或视图,相互之间用( )分隔。
A. 分号 B. 空格 C. 冒号 D. 逗号
【答案】D
【解析】多个数据表或视图之间用逗号进行分隔。
20、创建表时某字段未设置NOT NULL属性,则在插入数据时未插入该字段对应的值,该字段显示的值是( )。
A. NULL B. 0
C. 空字符串 D. 插入数据语句报错
【答案】A
【解析】未设置NOT NULL,则字段没有赋值时,会默认显示NULL。
21、能够实现删除表kfc中的kele索引,正确的语句为( )。
A. ALTER TABLE kfc DELETE INDEX kele;
B. ALTER TABLE kfc DROP kele;
C. DROP INDEX kele ON kfc;
D. DROP INDEX kfc ON kele;
【答案】C
【解析】删除索引的语法格式为DROP INDEX 索引名 ON 表名和ALTER TABLE 表名 DROP INDEX 索引名。
22、关于视图与表的区别,错误的是( )。
A. 视图的更新操作比表灵活
B. 视图是基于表定义的或者基于已有的视图
C. 在表上可以建立索引,视图上不可以直接建立
D. 实际存储数据的是表
【答案】A
【解析】表的更新操作更灵活,视图的更新要满足条件。
23、当触发器在执行过程中出错,会出现的是( )。
A. 停止执行但不回滚 B. 回滚整个事务
C. 继续执行忽视错误 D. 暂停执行
【答案】B
【解析】当触发器执行出错时,根据MYSQL事务的原子性,也就是事务内操作要么全部成功,要么全部失败,会触发整个事务回滚,将数据库恢复到该事务开始的状态。
24、数据库物理设计完成后,进入数据库实施阶段,以下工作中不属于实施阶段的是( )。
A. 建立数据库结构 B. 扩充功能
C. 加载数据 D. 系统调试
【答案】B
【解析】扩充功能一般是在数据库投入使用后,根据实际需求进行的。
25、实现备份数据库shop中两个表clothes和shoes到D盘文件beifen.sql中,正确的语句为( )。
A. MYSQLDUMP -uroot -hlocalhost -p shop clothes shoes >D:\beifen.sql;
B. MYSQLDUMP -uroot -hlocalhost -p shop clothes,shoes >D:\beifen.sql;
C. MYSQLDUMP -uroot -hlocalhost -p shop clothes shoes D:\beifen.sql;
D. MYSQLDUMP -uroot -hlocalhost -p shop clothes shoes l;
【答案】A
【解析】正确的备份语句为A,语法格式为MYSQLDUMP -uroot -hlocalhost -p 数据库名 表名1 表名2 >备份文件名;。
二、判断题(本大题共10小题,每小题1分,共10分)
1、在计算机中用来描述事物的信息都可以称之为数据。( )
【答案】正确
【解析】数据的表现形式是多种多样的,数据时用来描述事物的状态、特征和特性的物理符号。
2、MySQL是一个多用户、多线程、功能强大的数据库管理系统。( )
【答案】正确
【解析】MySQL是一款功能强大的关系型数据库管理系统。
3、MySQL的单行注释语句只可以使用双减号作为注释的开始。( )
【答案】错误
【解析】还可以使用#号作为注释的开始。
4、表达式SELECT NULL <=> 1的结果是1。( )
【答案】错误
【解析】<=>是判断两个操作是否相等,很显然NULL和1是不相等的,结果为0。
5、如创建数据库时不指定字符集和排序规则,则数据库将使用服务器的默认字符集和排序规则。( )
【答案】正确
【解析】在主流的关系型数据库中,当创建数据库不手动指定字符集和排序规则,数据库会直接继承服务器的字符集和排序规则。
6、可以使用一条命令SHOW CREATE TABLE查看多个数据表的信息。( )
【答案】错误
【解析】SHOW CREATE TABLE 表名,一次只能查看一张表的表信息。
7、当一个字段为主键约束,这时向该字段插入重复的值时,会拒绝插入。( )
【答案】正确
【解析】主键约束字段的值不可以重复且不可以为NULL。
8、视图的存在会占用存储空间。( )
【答案】错误
【解析】视图是虚表,它本身并不存储实际数据,所以视图的存在不会增加数据存储的开销。
9、在MySQL中可以定义没有参数的存储过程。( )
【答案】正确
【解析】存储过程可以没有参数。
10、在数据库设计中,逻辑设计阶段的结果是唯一的。( )
【答案】错误
【解析】逻辑设计阶段的结果不是唯一的,同一个概念模型可以对应多种不同的逻辑设计方案。
三、填空题(本大题共10小题,每小题1分,共10分)
1、在MySQL客户端输入密码,会出现命令提示符_________。
【答案】mysql>
2、在逻辑运算符中,单操作数运算符是_______。
【答案】!或者NOT
3、位运算符是针对_________的每一位进行运算的符号。
【答案】二进制
4、排序规则是在同一个字符集内字符之间的比较规则,一个字符集可能对应________排序规则。
【答案】一个或多个
5、同一个数据表中,不能出现重名字段,但不同数据表中的字段_________(可以/不可以)重名。
【答案】可以
6、查询操作用于从数据表中筛选出符合需求的数据,查询得到的结果集是_________模式,按照表的形式组织并显示。
【答案】关系
7、条件表达式WHERE LEFT(姓名,1)=”张”查找的是_________。
【答案】姓张的
8、在MySQL中,校对集的名称用_________分隔的3部分组成。
【答案】下划线或者写_
9、一个表中的主键是由多个字段组成的,则称之为_________。
【答案】复合主键
10、删除用户”Tom”的语句为_________。
【答案】DROP USER Tom;
四、SQL语句题(本大题共5小题,每小题3分,共15分)
有如下表
pupil表结构
字段名
说明
数据类型
属性
Pid
学号
INT
NOT NULL
Pname
姓名
VARCHAR(10)
Psex
性别
CHAR(1)
Page
年龄
INT
DEFAULT 18
pclass
班级
VARCHAR(5)
Score表记录
学号
课程名
成绩
2101
语文
123
2103
数学
98
2104
英语
83
2105
语文
79
2101
数学
90
2103
英语
79
2104
语文
68
2105
英语
94
1、创建数据库school,并指定字符集为gb2312,排序规则为gb2312_chinese_cs。
【答案】CREATE DATABASE school DEFAULT CHARACTER SET=gb2312 DEFAULT COLLATE=gb2312_chinese_cs;
2、根据表中信息,创建如上表pupil。
【答案】CREATE TABLE pupil (Pid INT NOT NULL,Pname VARCHAR(10),Psex CHAR(1),Page INT DEFAULT 18,Pclass VARCHAR(5));
3、给表的Pclass字段设置默认值为1班。
【答案】ALTER TABLE pupil MODIFY Pclass DEFAULT “1班”;
4、查询平均成绩大于80的学号及平均成绩。
【答案】SELECT 学号,AVG(成绩) FROM score GROUP BY 学号 HAVING AVG(成绩) >80;
5、插入表中一条记录学号2109,姓名为艾利,女,年龄19,班级1班,。
【答案】INSERT INTO pupil (Pid,Pname,Psex,Page,Pclass) VALUES(2109,”艾利”,”女”,19,”1班”);
五、读程序题(每空3分,共15分)
1、读程序,根据程序写对应的结果。
CREATE EVENT IF NOT EXISTS abc
ON SCHEDULE AT “2026-07-10 18:30:00”ON COMPLETION PRESERVE
DO
DELETE FROM score WHERE 语文<60;
以上事件的功能是
【答案】在2026年7月10号 的下午六点半执行删除score表中语文成绩小于60的记录。
2、读以下程序写出调用存储过程后的结果
CREATE PROCEDURE compare(IN num int)
begin
case num
when 1 then select"num is 1";
when 2 then select"num is 2";
else select"num is not 1 or 2";
end case;
End;
CALL compare(10);
【答案】num is not 1 or 2
3、创建存储函数search_name,根据输入的用户名name,在student表中查找该学生(student中姓名在sname字段中存储),若有该学生,返回TRUE,否则返回FALSE,补全以下程序
DELIMITER //
CREATE ____(1)_____ search_name (name VARCHAR(10))
RETURNS BOOLEAN
BEGIN
DECLARE i INT;
SELECT____(2)_____ FROM student WHERE sname=name;
IF i>0 THEN
RETURN TRUE;
ELSE
RETURN ____(3)_____;
END IF;
END //
DELIMITER ;
【答案】(1) FUNCTION (2) COUNT(*) INTO i (3) FALSE
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$