当前位置: 首页 > news >正文

MySQL 综合练习

MySQL 综合练习


一、选择题(每题2分,共40分)

  1. MySQL中最基本的数据存储单位是什么?
    A. 表格
    B. 列
    C. 行
    D. 数据库

  2. 在MySQL中,下列哪种数据类型可以存储的数字?
    A. INT
    B. BIGINT
    C. FLOAT
    D. DOUBLE

  3. 表达式 select (9+6*5+3%2)/5-3 的运算结果是多少?( )
    A.1
    B.3
    C.5
    D.7

  4. 下列哪种MySQL查询语句可以在表格中查找指定的数据?
    A. SELECT
    B. UPDATE
    C. DELETE
    D. INSERT

  5. 下列哪种MySQL查询语句可以对查询结果进行分页显示?
    A. LIMIT
    B. GROUP BY
    C. ORDER BY
    D. HAVING

  6. 下列哪种MySQL查询语句可以对查询结果进行排序?
    A. ORDER BY
    B. GROUP BY
    C. HAVING
    D. LIMIT

  7. MySQL中唯一索引的关键字是(  )
    A. FULLTEXT INDEX
    B. ONLY INDEX
    C. UNIQUE INDEX
    D. INDEX

  8. SQL语言中,SELECT语句的执行结果是( )
    A. 属性
    B. 表
    C. 元组
    D. 数据库

  9. 以下聚合函数,用于求数据平均值的是( )
    A. MAX
    B. SUM
    C. COUNT
    D. AVG

  10. 使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( )
    A. 使用WHERE子句
    B. 在GROUP BY后面使用HAVING子句
    C. 先使用WHERE子句,再使用HAVING子句
    D. 先使用HAVING子句,再使用WHERE子句

  11. MySQL中,备份数据库的命令是( )
    A. mysqldump
    B. mysql
    C. backup
    D. copy

  12. 对关系S和关系R进行集合运算,结果中既包含S中元组也包含R中元组,这种集合运算称为 ( )
    A. 并运算
    B. 交运算
    C. 差运算
    D. 积运算

  13. 下列哪种MySQL备份方式可以备份整个数据库?
    A. mysqldump
    B. mysqlhotcopy
    C. binary copy
    D. xtrabackup

  14. drop database MyDB001; 该代码的功能是( )
    A. 修改数据库名为MyDB001
    B. 删除数据库MyDB001
    C. 使用数据库MyDB001
    D. 创建数据库MyDB001

  15. 下列哪种MySQL恢复方式可以恢复整个数据库?
    A. mysqlimport
    B. mysqlbinlog
    C. mysql
    D. mysqlpump

  16. 设有关系模式EMP(职工号,姓名,年龄,技能)。假设职工号唯一,每个职工有多项技能,则EMP表的主键是( )
    A. 职工号
    B. 姓名,技能
    C. 技能
    D. 职工号,技能

  17. 下面错误的说法是( )
    A. 关键字只能由单个的属性组成
    B. 在一个关系中,关键字的值不能为空
    C. 一个关系中的所有候选关键字均可以被指定为主关键字
    D. 关键字是关系中能够用来惟一标识元组的属性

  18. 有订单表orders,包含用户信息userid、产品信息productid两列, 以下语句能够返回至少被订购过两回的productid的语句是( )
    A. SELECT productid FROM orders WHERE count(productid)>1
    B. SELECT productid FROM orders WHERE max(productid)>1
    C. SELECT productid FROM orders WHERE having count(productid)>1 GROUP BY productid
    D. SELECT productid FROM orders GROUP BY productid HAVING count(productid)>1

  19. 索引可以显著提高哪一操作的效率( )
    A. INSERT
    B. UPDATE
    C. DELETE
    D. SELECT

  20. 储蓄所与多个储户,储户在多个储蓄所存取款,储蓄所与储户之间是( )。
    A. 一对一的联系
    B. 一对多的联系
    C. 多对一的联系
    D. 多对多的联系


二、简答题(每题5分,共15分)

  1. 请简述什么是数据库管理系统,什么是数据库系统?以及它们的主要功能有哪些?

  2. MySQL中的表维护语句有哪些?

  3. 详述索引的概念和促进作用以及索引的分类。


三、SQL操作题(每题9分,共45分)

在开始之前,先建立本文所需要的数据表格:自需用文件中的sql代码生成

-- 建表
-- 学生表
CREATE TABLE `Student`(
`s_id` VARCHAR(20),
`s_name` VARCHAR(20) NOT NULL DEFAULT '',
`s_birth` VARCHAR(20) NOT NULL DEFAULT '',
`s_sex` VARCHAR(10) NOT NULL DEFAULT '',
PRIMARY KEY(`s_id`)
);
-- 课程表
CREATE TABLE `Course`(
`c_id`  VARCHAR(20),
`c_name` VARCHAR(20) NOT NULL DEFAULT '',
`t_id` VARCHAR(20) NOT NULL,
PRIMARY KEY(`c_id`)
);
-- 教师表
CREATE TABLE `Teacher`(
`t_id` VARCHAR(20),
`t_name` VARCHAR(20) NOT NULL DEFAULT '',
PRIMARY KEY(`t_id`)
);
-- 成绩表
CREATE TABLE `Score`(
`s_id` VARCHAR(20),
`c_id`  VARCHAR(20),
`s_score` INT(3),
PRIMARY KEY(`s_id`,`c_id`)
);

-- 插入学生表测试数据
insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
insert into Student values('02' , '钱电' , '1990-12-21' , '男');
insert into Student values('03' , '孙风' , '1990-05-20' , '男');
insert into Student values('04' , '李云' , '1990-08-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吴兰' , '1992-03-01' , '女');
insert into Student values('07' , '郑竹' , '1989-07-01' , '女');
insert into Student values('08' , '王菊' , '1990-01-20' , '女');
-- 课程表测试数据
insert into Course values('01' , '语文' , '02');
insert into Course values('02' , '数学' , '01');
insert into Course values('03' , '英语' , '03');

-- 教师表测试数据
insert into Teacher values('01' , '张三');
insert into Teacher values('02' , '李四');
insert into Teacher values('03' , '王五');

-- 成绩表测试数据
insert into Score values('01' , '01' , 80);
insert into Score values('01' , '02' , 90);
insert into Score values('01' , '03' , 99);
insert into Score values('02' , '01' , 70);
insert into Score values('02' , '02' , 60);
insert into Score values('02' , '03' , 80);
insert into Score values('03' , '01' , 80);
insert into Score values('03' , '02' , 80);
insert into Score values('03' , '03' , 80);
insert into Score values('04' , '01' , 50);
insert into Score values('04' , '02' , 30);
insert into Score values('04' , '03' , 20);
insert into Score values('05' , '01' , 76);
insert into Score values('05' , '02' , 87);
insert into Score values('06' , '01' , 31);
insert into Score values('06' , '03' , 34);
insert into Score values('07' , '02' , 89);
insert into Score values('07' , '03' , 98);

(建表及插入数据SQL见题干,以下基于该数据表操作)

  1. 查询"01"课程比"02"课程成绩高的学生的信息及课程分数。

  2. 查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩(包括有成绩的和无成绩的)。

  3. 查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩。

  4. 找出没有学过张三老师课程的学生。

  5. 查询学过01课程,但是没有学过02课程的学生信息。


参考答案

一、选择题

1.C
2.ABCD(题干允许多个正确,所有均可存储数字)
3.C
4.A
5.A
6.A
7.C
8.B
9.D
10.B
11.A
12.A
13.A
14.B
15.C
16.D
17.A
18.D
19.D
20.D


二、简答题

  1. 数据库管理系统(DBMS):是一种用于建立、使用和维护数据库的软件系统,负责数据的定义、操作、存储、控制。
    数据库系统(DBS):由数据库、DBMS、应用程序和数据库管理员组成的完整系统。
    主要功能:数据定义、数据操纵、数据存储管理、数据安全与完整性控制、并发控制与恢复等。

  2. 表维护语句:

    • 创建表:CREATE TABLE

    • 修改表:ALTER TABLE

    • 删除表:DROP TABLE

    • 清空表:TRUNCATE TABLE

  3. 索引概念:索引是数据库中用于加快数据检索速度的一种数据结构。
    作用:提高查询效率,但会增加写入开销和存储空间。
    分类

    • 普通索引(INDEX)

    • 唯一索引(UNIQUE INDEX)

    • 主键索引(PRIMARY KEY)

    • 全文索引(FULLTEXT INDEX)

    • 组合索引(多列索引)


三、SQL操作题

  1. "01"课程比"02"课程成绩高的学生

SELECT s.*, sc1.s_score AS score01, sc2.s_score AS score02
FROM Student s
JOIN Score sc1 ON s.s_id = sc1.s_id AND sc1.c_id = '01'
JOIN Score sc2 ON s.s_id = sc2.s_id AND sc2.c_id = '02'
WHERE sc1.s_score > sc2.s_score;
  1. 平均成绩小于60分的学生

SELECT s.s_id, s.s_name, AVG(sc.s_score) AS avg_score
FROM Student s
LEFT JOIN Score sc ON s.s_id = sc.s_id
GROUP BY s.s_id, s.s_name
HAVING avg_score < 60 OR avg_score IS NULL;
  1. 所有学生的编号、姓名、选课总数、总成绩

SELECT s.s_id, s.s_name, COUNT(sc.c_id) AS course_count, SUM(sc.s_score) AS total_score
FROM Student s
LEFT JOIN Score sc ON s.s_id = sc.s_id
GROUP BY s.s_id, s.s_name;
  1. 没有学过张三老师课程的学生

SELECT s.s_id, s.s_name
FROM Student s
WHERE s.s_id NOT IN (SELECT sc.s_idFROM Score scJOIN Course c ON sc.c_id = c.c_idJOIN Teacher t ON c.t_id = t.t_idWHERE t.t_name = '张三'
);
  1. 学过01课程但没学过02课程的学生信息

SELECT s.*
FROM Student s
WHERE s.s_id IN (SELECT s_id FROM Score WHERE c_id='01')AND s.s_id NOT IN (SELECT s_id FROM Score WHERE c_id='02');


文章转载自:

http://XHt6kDwJ.LcLpj.cn
http://E9XJReaz.LcLpj.cn
http://rPZ1U5yz.LcLpj.cn
http://KDiFN6o2.LcLpj.cn
http://XTShD3MJ.LcLpj.cn
http://lfeLsBRv.LcLpj.cn
http://o1JwBb8R.LcLpj.cn
http://JhYAltFV.LcLpj.cn
http://NgD8t8AK.LcLpj.cn
http://eWRxZSn5.LcLpj.cn
http://licn2EEK.LcLpj.cn
http://5RCWdA74.LcLpj.cn
http://pOrhH8wZ.LcLpj.cn
http://iSjNZLlk.LcLpj.cn
http://iZtKErT6.LcLpj.cn
http://mMX55cpd.LcLpj.cn
http://KOmYgU50.LcLpj.cn
http://bIHpuAFG.LcLpj.cn
http://F4MgJrGR.LcLpj.cn
http://SHIF41ZJ.LcLpj.cn
http://3QqNCSqu.LcLpj.cn
http://3JonlohN.LcLpj.cn
http://cqZdNIV9.LcLpj.cn
http://JzWnTboO.LcLpj.cn
http://WFuXW3mv.LcLpj.cn
http://7CdMc09A.LcLpj.cn
http://q1sYas9Q.LcLpj.cn
http://sYC1jetf.LcLpj.cn
http://ixhtuW2O.LcLpj.cn
http://gdBCSOzL.LcLpj.cn
http://www.dtcms.com/a/369253.html

相关文章:

  • 基于cornerstone3D的dicom影像浏览器 第三章 拖拽seriesItem至displayer上显示第一张dicom
  • 用户眼中的VR自来水厂之旅
  • 数据安全成焦点:基于Hadoop+Spark的信用卡诈骗分析系统实战教程
  • 瑞芯微RV1126目标识别算法Yolov8的部署应用
  • 【深入理解Batch Normalization(1)】原理与作用
  • 【教程】快速入门golang
  • Day21_【机器学习—决策树(2)—ID3树 、C4.5树、CART树】
  • std::complex
  • 深度解读:PSPNet(Pyramid Scene Parsing Network) — 用金字塔池化把“场景理解”装进分割网络
  • 【WRF-Chem】SYNMAP 土地覆盖数据概述及处理(二进制转geotiff)
  • 怎么快速构建一个deep search模型呢
  • Dify基础应用
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(26):文法+单词第8回3 复习 +考え方6
  • Screen 三步上手
  • Pspice仿真电路:(三十六)变压器仿真
  • pydantic定义llm response数据模型
  • 开学信息收集不再愁,这个工具太省心
  • 豆包 arraylist顺序会变么
  • 软考最稳定的一个科目,你认同吗?
  • 【问题解决】mac笔记本遇到鼠标无法点击键盘可响应处理办法?(Command+Option+P+R)
  • 介电常数何解?
  • VMwaer虚拟机安装完Centos后无法联网问题
  • 【阿里存储桶OSS】桶ACL解释
  • Beetle RP2350开发板使用指南之【环境搭建 / 点灯】
  • Y3垂起标准配置文件解析()
  • JSON转义
  • Kaggle - LLM Science Exam 大模型做科学选择题
  • CSS定位与浮动:脱离常规流的艺术
  • C/C++ 与 Lua 互相调用详解
  • mysq集群高可用架构之组复制MGR(单主复制-多主复制)