《 计算机信息管理课程实验——数据库系统原理 》课程试卷
答卷提交说明:
在mysql环境下填写SQL命令完成以下实践的题目,并返回执行结果的截图,答卷的答题格式如下,包括三部分:题目,SQL文本代码,代码运行截图(截图中包含代码和运行结果):
1.统计课程表中课程的门数(题目)
select count(*) from courses;(SQL文本代码)
(包含代码和运行结果的截图)
保存答题文件,答卷文件以“序号+姓名+课程名”命名。
本试卷总分40分
1采用create命令创建数据库 school,并用show命令查看目前存在哪些数据库;用use命令将school转变成当前数据库;
- 执行以下命令建立实验所需的3张数据表和数据:student表存储学生信息:学号、姓名、性别和生日;club表存储俱乐部的信息:俱乐部号、俱乐部名和活动地点;JoinClub表存储的是学生参加俱乐部的信息:参加的俱乐部号、学号、加入俱乐部的日期(该步骤不需要填写命令,也不需要返回执行结果的截图)
CREATE TABLE student(
Sno varchar(7) PRIMARY KEY ,
Sname varchar(6) NOT NULL ,
Gender varchar(1),
Birthday date
);
CREATE TABLE club(
clubno varchar(4) PRIMARY KEY ,
Cname varchar(20) NOT NULL ,
location varchar(40) NOT NULL
);
CREATE TABLE JoinClub(
ClubNo varchar(4) ,
Sno varchar(7) ,
JoinDate date NOT NULL ,
PRIMARY KEY(Clubno,Sno),
FOREIGN KEY(sno) REFERENCES Student(sno) ON DELETE NO ACTION ON UPDATE NO ACTION,
FOREIGN KEY(ClubNo) REFERENCES Club(ClubNo) ON DELETE NO ACTION ON UPDATE NO ACTION);
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021230','张怡','女','2002-01-01');
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021231','杨恒华','男','2001-12-18');
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021232','张浩','女','2002-07-04');
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021233','刘玉','女','2001-11-18');
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021234','雷琳','女','2002-04-08');
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021235','吴述','男','2002-05-09');
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021236','潘恩依','男','2002-08-01');
INSERT INTO Student(sno,sname,gender,Birthday) VALUES('2021237','陈国柏','男','2002-09-25');
INSERT INTO Student(sno,sname,gender) VALUES('2021238','贺易','男');
INSERT INTO Club(ClubNo,Cname,Location) VALUES ('0001', '舞蹈团', '学生活动中心舞蹈室');
INSERT INTO Club(ClubNo,Cname,Location) VALUES ('0002', '合唱团', '学生活动中心音乐室');
INSERT INTO Club(ClubNo,Cname,Location) VALUES ('0003', '篮球队', '体育中心篮球馆');
INSERT INTO Club(ClubNo,Cname,Location) VALUES ('0004', '游泳队', '体育中心游泳馆');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0001', '2021230', '2021-09-15');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0001', '2021234', '2021-09-15');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0002', '2021236', '2021-09-16');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0002', '2021237', '2021-09-18');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0002', '2021232', '2021-09-16');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0003', '2021231', '2021-09-20');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0003', '2021232', '2021-09-21');
INSERT INTO JoinClub(ClubNo, Sno, JoinDate) VALUES ('0004', '2021230', '2021-09-22');
- 用SELECT命令统计各个俱乐部男女生的人数
- 请显示出张怡同学参加的俱乐部的名字,和活动地点
5、请用嵌套查询实现参加了合唱团的学生姓名
6、查看女学生参加了俱乐部的情况,包括学生名,性别,俱乐部名字
7.完成下列安全控制
- 创建用户Tom,密码123
- 将 school数据库中的表student上select 赋给用户 Tom
- 以用户tom的身份进行登录数据库school,查询表student和表club,看看是否有相应的权限