MySQL 基础教程[10]
创始人
2025-05-28 05:25:34

MySQL 基础教程[10]

  • 问题1
  • 问题1代码
  • 问题2
  • 问题2代码

  • 本系列MySQL 基础教程通过“问题-代码”的方式介绍各类方法,每篇设置2个MySQL综合问题,并给出解决方案。

问题1

41 给定一个用于存放学生选课信息的数据库XK, 由学生信息表student、课程信息表course和选课信息表ordering构成。其中, 表studenti己录学生的学号、姓名、性别、年龄等信息; 表course记录课程的课程号、课程名称、授课教室 等信息; 表ordering描述学生的选课信息, 并记录学生所选课程的成绩。

  1. 使用UPDATE命令, 将表student中字段stu_id为 2 的学生年龄更新为 “20”。
    2.使用 SELECT语句查诣学生信息表中所有男生 (取值为 ’ M′\mathrm{M}^{\prime}M′ ') 的姓名, 且按年龄的升序排序, 最后把此SELECT语句 存入考生文件大大下的si12.txt文件中。
    3.使用 SELECT语句查询课程成绩不及格的学生姓名, 并此SELECT语句存入考生文件夹下的sj13.txt文件中。
    4.建立一个名为 stu_user的用户, 主机名为 localhost, 并为其授予关于表student的SELECT、INSERT权限。
  2. 使用INSERT语句向表ordering中添加如下一条信息: 学其为 1 的学生选修了课程号为 5 的课程, 因该课程尚末结束, 故目前没有成绩。

问题1代码

#【1】
use XK;
show create table student; 
update student set stu_age=20 where stu_id=2;
#【2】
select name from student where sex="M" order by stu_age ASC;
#【3】
select name from  student, ordering where ordering.no=student.in and grade<60;
#【4】
create user  'stu_user'@'localhost'; //有没有都可以
grant select, insert on student to 'stu_user'@'localhost' with grant ioption;
#【5】
insert into ordering(,) values(1, 5, 0)

问题2

  1. 在数据库XK中创建一个名称为trigger_delete_student的触发器, 其实现当从表student中删除学生信息时, 可自 动删除该学生的选课信息。

  2. 在数据库XK中创建一个名称为sp_update_room的存储过程, 其功能是为表course中指定的一个课程号course_i安排一 个新的授课教室。

问题2代码

#【1】
USE XK;
CREATE trigger trigger_delete_student after DELETE //之后删除
ON ordering FOR EACH ROW 
DELETE FROM student WHERE stu_no=OLD.stu_id;#【2】
USE XK;
DELIMITERS $$
CREATE procedure sp_update_room(IN cid INT, IN rno CHAR(20))
BEGIN UPDATE course SET room=rno WHERE course_id=cid;
END $$

相关内容

热门资讯

今日重大通报“相约麻将究竟有没... 您好:相约麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【8700483】,很多玩家在相约麻将这...
实测推荐.新蛮王牛牛辅助软件.... 亲.新蛮王牛牛这款游戏是可以开挂的,确实是有挂的,通过添加客服【9183893】很多玩家在这款游戏中...
玩家推荐"决胜麻将 ... 您好:决胜麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【5991307】,很多玩家在决胜麻将这...
重大消息.非凡贪玩拼三张到底是... 亲.非凡贪玩拼三张这款游戏是可以开挂的,确实是有挂的,通过添加客服【9307068】很多玩家在这款游...
实测分享“新老夫子透视挂辅助器... 您好:新老夫子这款游戏可以开挂,确实是有挂的,需要软件加微信【6355786】,很多玩家在新老夫子这...