2025年mysql的期末考试试题及答案_第1页
2025年mysql的期末考试试题及答案_第2页
2025年mysql的期末考试试题及答案_第3页
2025年mysql的期末考试试题及答案_第4页
2025年mysql的期末考试试题及答案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025年mysql的期末考试试题及答案2025年MySQL数据库技术期末考试试题(满分100分,考试时间120分钟)第一部分:单项选择题(共15题,每题2分,总计30分。每题只有1个正确答案,多选、错选、不选均不得分)1.MySQL8.0中默认的存储引擎是?A.MyISAMB.InnoDBC.MemoryD.Archive2.下列哪种数据类型最适合存储国内用户的11位手机号码?A.INTB.CHAR(11)C.VARCHAR(20)D.TEXT3.MySQL中用于事务回滚的语句是?A.COMMITB.ROLLBACKC.SAVEPOINTD.BEGIN4.下列关于InnoDB聚簇索引的描述错误的是?A.聚簇索引的叶子节点存储完整的行数据B.一个表可以有多个聚簇索引C.聚簇索引默认基于主键创建D.聚簇索引的查询效率通常高于非聚簇索引5.MySQL8.0中新增的支持原子DDL的存储引擎是?A.InnoDBB.MyISAMC.CSVD.Memory6.在SQL标准定义的事务隔离级别中,下列哪个级别可以完全避免脏读、不可重复读、幻读三类问题?A.读未提交B.读已提交C.可重复读D.串行化7.下列哪种锁属于行级锁范畴?A.意向共享锁B.表锁C.记录锁D.元数据锁8.MySQL中用于查看当前会话自动提交是否开启的语句是?A.SHOWVARIABLESLIKE'autocommit'B.SHOWSTATUSLIKE'autocommit'C.SHOWPROCESSLISTD.SHOWENGINES9.下列关于索引的描述正确的是?A.索引越多,查询效率越高B.联合索引最左匹配原则是指查询条件必须包含联合索引的第一个字段C.索引不会占用存储空间D.对频繁更新的字段建索引可以提升更新效率10.MySQL8.0中默认的服务端字符集是?A.latin1B.gbkC.utf8D.utf8mb411.下列哪种日志可以用于数据的增量恢复与主从复制同步?A.错误日志B.慢查询日志C.binlog日志D.通用查询日志12.假设存在表student(idINT,nameVARCHAR(20),ageINT),MySQL8.0默认开启ONLY_FULL_GROUP_BY约束,下列SQL语句执行错误的是?A.SELECTname,AVG(age)FROMstudentGROUPBYnameB.SELECTname,ageFROMstudentGROUPBYnameC.SELECTname,COUNT(*)FROMstudentGROUPBYnameD.SELECTid,nameFROMstudentWHEREage>18ORDERBYage13.下列哪个函数可以获取当前的系统时间,精确到秒?A.CURDATE()B.NOW()C.YEAR()D.DATE()14.InnoDB缓冲池的作用不包括?A.缓存表数据B.缓存索引数据C.缓存binlog日志D.提升读写效率15.下列关于MySQL主从复制的描述错误的是?A.主库将变更记录写入binlogB.从库IO线程将主库的binlog拉取到本地的relaylogC.从库SQL线程重放relaylog的变更D.主从复制可以完全避免数据丢失【单项选择题答案】1-5:BBBBA6-10:DCABD11-15:CBBCD第二部分:多项选择题(共5题,每题2分,总计10分。每题有2-4个正确答案,多选、少选、错选、不选均不得分)1.下列属于InnoDB存储引擎特性的有?A.支持事务B.支持外键C.支持行级锁D.支持全文索引2.下列哪些情况会导致索引失效?A.查询条件中对索引字段使用函数B.查询条件中索引字段参与隐式类型转换C.查询条件使用LIKE'%xxx'后缀匹配D.联合索引查询条件不包含最左字段3.MySQL中常见的锁粒度包括?A.全局锁B.表级锁C.页级锁D.行级锁4.下列关于MySQL8.0新特性的描述正确的有?A.支持窗口函数B.支持CTE(公共表表达式)C.默认使用caching_sha2_password认证插件D.支持隐藏索引5.下列属于慢查询日志相关配置参数的有?A.slow_query_logB.long_query_timeC.slow_query_log_fileD.binlog_format【多项选择题答案】1.ABCD2.ABCD3.ABCD4.ABCD5.ABC第三部分:填空题(共10空,每空1分,总计10分)1.MySQL中用于唯一标识一条行记录、非空且唯一的索引叫做______。2.InnoDB实现事务的四大特性中,持久性主要通过______日志实现。3.MySQL中删除表中所有数据且无法回滚、会释放磁盘空间的语句是______。4.联合索引(a,b,c)中,可以命中该索引的查询条件包含的字段组合是a、______、abc。5.MySQL8.0中binlog的三种格式分别是STATEMENT、ROW、______。6.InnoDB中用于实现MVCC(多版本并发控制)的核心日志结构是______。7.当用户执行SELECT...FORUPDATE语句时,会对查询到的行加______锁。8.MySQL中用于创建新用户的SQL语句关键字是______。9.关系型数据库的三大范式中,第二范式要求消除非主属性对主键的______依赖。10.MySQL中快速查看表结构的简化语句是______。【填空题答案】1.主键索引2.redolog(重做日志)3.TRUNCATETABLE4.ab5.MIXED6.undolog(回滚日志)7.排他(X/写)8.CREATEUSER9.部分10.DESC(DESCRIBE)第四部分:判断题(共10题,每题1分,总计10分,正确打√,错误打×)1.MyISAM存储引擎支持事务和行级锁。2.可以对TEXT、BLOB等大字段类型创建前缀索引。3.SQL标准定义的可重复读隔离级别下,可以避免幻读问题。4.MySQL的binlog是存储引擎层生成的日志。5.对于相同查询条件,InnoDB引擎中COUNT(*)的执行效率高于COUNT(主键)。6.联合索引的字段顺序不会影响索引的命中效率。7.MySQL8.0中支持对普通索引设置不可见,用于索引优化验证。8.DELETE语句删除表数据会直接释放表占用的磁盘空间。9.InnoDB的自增主键值在事务回滚时会回退到事务开启前的值。10.主从复制架构中,从库默认可以承担写请求,不会导致主从不一致。【判断题答案】1.×2.√3.×4.×5.√6.×7.√8.×9.×10.×第五部分:简答题(共3题,每题5分,总计15分)1.请简述InnoDB中聚簇索引和非聚簇索引的核心区别。2.请简述MVCC的实现原理及核心作用。3.请列举至少5种常见的MySQL性能优化手段。【简答题答案】1.两者核心区别如下:①存储结构不同:聚簇索引的叶子节点存储完整的行数据,非聚簇索引的叶子节点存储的是主键值(聚簇索引的键值)。②数量不同:一个表只能有1个聚簇索引,默认基于主键创建,无主键时选择唯一非空索引,都没有则自动生成隐式主键作为聚簇索引;一个表可以创建多个非聚簇索引。③查询效率不同:聚簇索引查询可以直接获取行数据,无需回表,效率更高;非聚簇索引查询如果需要获取非索引字段,需要通过主键回表查询聚簇索引,效率相对更低。(答出3点即可得满分)2.MVCC即多版本并发控制,是InnoDB实现非锁定一致性读的核心机制:①实现原理:每行数据都隐藏了事务ID(trx_id)、回滚指针(roll_pointer)两个字段,事务ID记录最近修改该行的事务ID,回滚指针指向undolog中的历史版本;事务读取数据时,根据一致性视图(ReadView)判断数据版本是否可见,若当前行版本不可见,则通过回滚指针遍历undolog中的历史版本,直到找到可见的版本。②核心作用:实现了读写不冲突,大大提升了数据库的并发性能,在可重复读和读已提交隔离级别下生效,读已提交级别下每次查询生成新的ReadView,可重复读级别下事务开始时生成一次ReadView。3.常见优化手段包括:①表结构优化:选择合适的数据类型,避免使用NULL,减少冗余字段,遵循三大范式的同时适当冗余提升查询效率。②索引优化:为高频查询字段、关联条件、排序分组字段建索引,避免索引失效场景,控制索引数量,避免冗余索引。③SQL语句优化:避免SELECT*,减少大字段查询,避免全表扫描,使用预编译语句,拆分复杂的大SQL。④事务优化:控制事务大小,避免长事务,合理设置事务隔离级别,批量提交减少IO次数。⑤配置优化:合理设置InnoDB缓冲池大小,调整redolog、undolog的大小和留存策略,开启慢查询日志定位慢SQL。⑥架构优化:采用读写分离架构分摊读压力,对大表进行分库分表,使用缓存层减少数据库查询压力。(答出5点即可得满分)第六部分:实操题(共2题,每题10分,总计20分)1.现有学生成绩管理系统的三张表:student(s_idINTPRIMARYKEY,s_nameVARCHAR(20)NOTNULL,s_ageINT,s_deptVARCHAR(30)),course(c_idINTPRIMARYKEY,c_nameVARCHAR(30)NOTNULL,t_nameVARCHAR(20)NOTNULL),score(s_idINT,c_idINT,scoreINT,PRIMARYKEY(s_id,c_id),FOREIGNKEY(s_id)REFERENCESstudent(s_id),FOREIGNKEY(c_id)REFERENCEScourse(c_id))。请按要求编写SQL语句:(1)查询“计算机系”所有年龄大于20岁的学生姓名和年龄。(3分)(2)查询选修了“张三”老师所授课程的学生姓名,要求结果去重。(3分)(3)查询每门课程的平均成绩,要求平均成绩大于80分,返回课程名称和平均成绩,按平均成绩降序排序。(4分)2.请按要求编写数据库运维相关SQL语句:(1)创建名为dev_user的用户,允许其从/24网段登录,密码为Dev@2025mysql。(3分)(2)给dev_user授予test库下所有表的查询、插入、修改权限,且允许该用户将权限授予其他用户。(3分)(3)写出查看慢查询相关配置的语句,以及开启慢查询日志、设置慢查询阈值为2秒的配置语句(仅当前实例生效)。(4分)【实操题答案】1.(1)`SELECTs_name,s_ageFROMstudentWHEREs_dept='计算机系'ANDs_age>20;`(2)`SELECTDISTINCTs.s_nameFROMstudentsJOINscorescONs.s_id=sc.s_idJOINcoursecONsc.c_id=c.c_idWHEREc.t_name='张三';`(3)`SELECTc.c_name,AVG(sc.score)ASavg_scoreFROMcoursecJOINscorescONc.c_id=sc.c_idGROUPBYc.c_id,c.c_nameHAVINGAVG(sc.score)>80ORDERBYavg_scoreDESC;`2.(1)`CREATEUSER'dev_user'@'192.168.1.%'IDENTIFIEDBY'Dev@2025mysql';`(2)`GRANTSELECT,INSERT,UPDATEONtest.*TO'dev_user'@'192.168.1.%'WITHGRANTOPTION;`(3)查询配置语句:`SHOWVARIABLESLIKE'%slow_query%';SHOWVARIABLESLIKE'long_query_time';`;配置语句:`SETGLOBALslow_query_log=ON;SETGLOBALlong_query_time=2;`第七部分:综合设计题(共1题,总计15分)某电商平台需要设计订单管理模块的数据库表,需求如下:1.存储用户基础信息:用户ID、用户名、手机号、注册时间;2.存储商品基础信息:商品ID、商品名称、商品单价、库存数量;3.存储订单基础信息:订单ID、下单用户ID、订单总金额、订单状态(待支付、已支付、已发货、已完成、已取消)、下单时间、支付时间;4.存储订单详情:每个订单包含多个商品,需要记录每个商品的购买数量、购买时的单价。请完成以下任务:(1)设计符合第三范式的4张表结构,标注主键、外键、合适的数据类型和约束,字段名自定义,要求逻辑合理。(8分)(2)为订单表设计合理的索引,说明设计理由。(4分)(3)当订单表数据量超过5000万时,会出现查询性能下降问题,请给出至少2种优化方案,说明理由。(3分)【综合设计题答案】(1)表结构设计如下:```sql-用户表CREATETABLE`user`(`user_id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'用户ID',`username`VARCHAR(32)NOTNULLCOMMENT'用户名',`phone`CHAR(11)NOTNULLUNIQUECOMMENT'手机号',`register_time`DATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'注册时间',PRIMARYKEY(`user_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='用户表';-商品表CREATETABLE`goods`(`goods_id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'商品ID',`goods_name`VARCHAR(128)NOTNULLCOMMENT'商品名称',`price`DECIMAL(10,2)NOTNULLCOMMENT'商品单价',`stock`INTUNSIGNEDNOTNULLDEFAULT0COMMENT'库存数量',PRIMARYKEY(`goods_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='商品表';-订单表CREATETABLE`order`(`order_id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'订单ID',`user_id`BIGINTUNSIGNEDNOTNULLCOMMENT'下单用户ID',`total_amount`DECIMAL(10,2)NOTNULLCOMMENT'订单总金额',`order_status`TINYINTUNSIGNEDNOTNULLDEFAULT0COMMENT'订单状态:0待支付1已支付2已发货3已完成4已取消',`create_time`DATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'下单时间',`pay_time`DATETIMECOMMENT'支付时间',PRIMARYKEY(`order_id`),CONSTRAINT`fk_order_user_id`FOREIGNKEY(`user_id`)REFERENCES`user`(`user_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='订单表';-订单详情表CREATETABLE`order_detail`(`detail_id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'订单详情ID',`order_id`BIGINTUNSIGNEDNOTNULLCOMMENT'订单ID',`goods_id`BIGINTUNSIGNEDNOTNULLCOMMENT'商品ID',`buy_num`INTUNSIGNEDNOTNULLDEFAULT1COMMENT'购买数量',`buy_price`DECIMAL(10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论