- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
MySQL练习题
一、基本操作题
1.创建一个名为`student`的数据库。
姓名:,年龄:20,性别:男,班级ID:1
姓名:,年龄:21,性别:女,班级ID:2
姓名:,年龄:22,性别:男,班级ID:1
4.更新`student_info`表中姓名为“”的年龄为23。
5.删除`student_info`表中年龄大于22的记录。
6.查询`student_info`表中所有男生的姓名和年龄。
7.查询`student_info`表中班级ID为1的学生信息。
二、函数与聚合函数题
1.计算`student_info`表中所有学生的平均年龄。
2.查询`student_info`表中年龄最大的学生姓名。
3.统计`student_info`表中男女生的人数。
4.使用`concat`函数将`student_info`表中的姓名和年龄拼接成一个新的字段。
5.查询`student_info`表中年龄在20到22岁之间的学生信息。
三、高级查询题
1.查询`student_info`表中每个班级的平均年龄。
2.查询`student_info`表中年龄相同的学生信息。
3.使用左连接查询`student_info`表和班级表(假设存在班级表`class`),显示学生的姓名和班级名称。
4.使用子查询查询`student_info`表中年龄大于平均年龄的学生信息。
5.查询`student_info`表中年龄排名前三的学生信息。
四、索引与事务题
1.为`student_info`表的`name`字段创建一个索引。
2.删除`student_info`表中`age`字段的索引。
3.开启一个事务,向`student_info`表中插入一条记录,然后回滚事务。
4.开启一个事务,更新`student_info`表中姓名为“”的年龄,然后提交事务。
五、权限管理题
1.创建一个新用户`user1`,密码为`56`。
2.授予`user1`用户对`student`数据库的所有权限。
3.撤销`user1`用户对`student_info`表的查询权限。
4.查看当前数据库的所有用户权限。
六、存储过程与函数题
1.创建一个存储过程,用于插入新的学生信息到`student_info`表。
2.创建一个函数,计算传入年龄的学生人数。
3.修改之前创建的存储过程,使其能够接受动态的表名进行数据插入。
4.调用存储过程插入一条新的学生记录。
5.使用函数查询年龄为20岁的学生人数。
七、触发器题
1.创建一个触发器,当向`student_info`表中插入新记录时,自动检查年龄是否大于18岁。
2.创建一个触发器,当从`student_info`表中删除记录时,自动在日志表中记录删除操作。
3.创建一个触发器,当更新`student_info`表中的`age`字段时,确保更新后的年龄不小于18岁。
4.查看并解释当前数据库中所有触发器的功能和状态。
八、视图题
1.创建一个视图,显示`student_info`表中所有男生的姓名、年龄和班级ID。
2.修改视图,使其只包含年龄大于20岁的学生信息。
3.查询视图,获取年龄最小的女生信息。
4.删除之前创建的视图。
九、备份与恢复题
1.使用命令行工具对`student`数据库进行完全备份。
2.使用命令行工具对`student_info`表进行部分备份。
3.模拟数据丢失,并使用备份文件恢复`student`数据库。
4.编写一个脚本,定期自动备份`student`数据库。
十、性能优化题
1.分析`student_info`表的查询性能,并给出优化建议。
2.对`student_info`表进行分区,并解释分区的好处。
3.使用`EXPLN`语句分析一个查询语句的执行计划。
4.通过调整数据库配置文件来优化MySQL服务器的性能。
十一、综合应用题
1.设计一个简单的学生管理系统,包括学生信息管理、班级信息管理、成绩管理等模块,并给出相关SQL语句。
2.编写一个SQL脚本,实现学生信息的批量导入和导出。
3.设计一个数据库事务,确保学绩更新的原子性、一致性、隔离性和持久性。
4.使用存储过程和触发器实现学生信息的自动审核机制。
一、基本操作题
1.
CREATEDATABASEstudent;
2.
CREATETABLEstudent_info(
idINTAUTO_INCREMENTPRIMARYKEY,
nameVARCHAR(100)NOTNULL,
ageINTNOTNULL,
genderVA
文档评论(0)