求数据库题答案 急急急急

一、使用创建表的语句,创建如下三张表(15分)1)学生表(Student)序号说明字段类型备注1学号stuIDCHAR(6)主键2姓名stuNameVARCHAR(50)... 一、使用创建表的语句,创建如下三张表(15分)
1)学生表(Student)
序号 说明 字段 类型 备注
1 学号 stuID CHAR(6) 主键
2 姓名 stuName VARCHAR(50) 不为空
3 性别 stuSex CHAR(2)
4 专业 spec VARCHAR(20) 不为空

2)课程表(Course)
序号 说明 字段 类型 备注
1 课程号 couID Int 主键
2 名称 couName VARCHAR(50) 不为空
3 学分 credit Float 不为空

3)成绩表(Score)
序号 说明 字段 类型 备注
1 学号 stuID CHAR(6) 外键
2 课程号 couID Int 外键
3 成绩 score Int 默认值为0

二、向三张表中分别插入如下数据(8分)
1)学生表
学号 姓名 性别 专业
100001 李珍珍 英语
100002 蔡准 男 计算机

2)课程表
课程号 课程名称 学分
1 数据库原理与应用 4.5

3)成绩表
学号 课程号 成绩
100001 1 90
100002 1 0

三、将学号是100001的学生的性别改成“女“ (5分)

四、删除学生“蔡准“的”数据库原理与应用“的成绩(6分)

五、删除没有被学生参加过考试的课程(8分)

六、查询“英语”专业学生的信息,包括学号,姓名,性别,并按照学号升序排列;(7分)
七、查询所有学生的所有信息:学号、姓名、性别、专业,课程名,成绩 (6分)

八、查询数据库原理与应用课,成绩前三名的学生的学号、姓名、分数. (7分)

九、查询每个专业学生的数量;(8分)

十、定义“英语”专业学生所学课程的信息视图v_English,包括学号、姓名、课程号和分数。(10分)

十一、创建存储过程,查询成绩在85分以上的学生的总人数 (10分)

十二、创建触发器,当删除一门课程时,把对应的成绩表中的数据也删掉(10分)
展开
 我来答
百度网友48429e1
2019-01-06 · TA获得超过336个赞
知道小有建树答主
回答量:340
采纳率:73%
帮助的人:133万
展开全部
# 一、使用创建表的语句,创建如下三张表
# 1)学生表(Student)
create table Student (
  stuID   char(6) primary key,
  stuName varchar(50) not null,
  stuSex  char(2),
  spec    varchar(20) not null
);

# 2)课程表(Course)
create table Course (
  couID   int primary key,
  couName varchar(50) not null,
  credit  float       not null
);

# 3)成绩表(Score)
create table Score (
  stuID char(6),
  couID int,
  score int default 0
);

# 二、向三张表中分别插入如下数据
# 1)学生表
insert into student (stuID, stuName, spec) values (10001, "李珍珍", "英语");
insert into student (stuID, stuName, stuSex, spec) values (10002, "蔡准", "男", "计算机");

# 2)课程表
insert into course values (1, "数据库原理与应用", 4.5);

# 3)成绩表
insert into score values (10001, 1, 90);
insert into score values (10002, 1, 0);

# 三、将学号是100001的学生的性别改成“女“
update student
set stuSex = "女"
where stuID = 10001;

# 四、删除学生“蔡准“的”数据库原理与应用“的成绩
delete from score
where stuID = (select stuID
               from student
               where stuName = "蔡准") 
      and 
      couID = (select couID
               from course
               where couName = "数据库原理与应用");
               
# 五、删除没有被学生参加过考试的课程
delete from course
where couID not in (select couID
                    from score
                    group by couID);
                    
 # 查询“英语”专业学生的信息,包括学号,姓名,性别,并按照学号升序排列;
 select *
from student
where spec = "英语"
order by stuID asc;
 
 # 七、查询所有学生的所有信息:学号、姓名、性别、专业,课程名,成绩
 select
  student.*,
  course.couName,
  score.score
from student
  left join score on student.stuID = score.stuID
  left join course on score.couID = course.couID;
                                                  
 # 八、查询数据库原理与应用课,成绩前三名的学生的学号、姓名、分数
 select
  score.stuID,
  student.stuName,
  score.score
from score
  left join student on score.stuID = student.stuID
  left join course on score.couID = course.couID
where course.couName = "数据库原理与应用"
order by score.score desc
limit 3;

# 九、查询每个专业学生的数量;
select
  spec,
  count(stuID)
from student
group by spec;

# 十、定义“英语”专业学生所学课程的信息视图v_English,包括学号、姓名、课程号和分数。
create view v_English as (
  select
    student.stuID,
    student.stuName,
    score.couID,
    score.score
  from student
    left join score on student.stuID = score.stuID
  where student.spec = "英语"
);

# 十一、创建存储过程,查询成绩在85分以上的学生的总人数 
delimiter $$
create procedure count_score_gt_85()
  begin
    select count(distinct stuID)
    from score
    where score > 85;
  end$$
delimiter ;

# 十二、创建触发器,当删除一门课程时,把对应的成绩表中的数据也删掉
delimiter $$
create trigger tri_course_deleted
  after delete
  on course
  for each row
  begin
    delete from score
    where couID = old.couID;
  end$$
delimiter ;
上海华然企业咨询
2024-10-28 广告
作为上海华然企业咨询有限公司的一员,我们深知大模型测试对于企业数字化转型与智能决策的重要性。在应对此类测试时,我们注重数据的精准性、算法的先进性及模型的适用性,确保大模型能够精准捕捉市场动态,高效分析企业数据,为管理层提供科学、前瞻的决策支... 点击进入详情页
本回答由上海华然企业咨询提供
阿冬76
2018-12-29 · TA获得超过5028个赞
知道大有可为答主
回答量:2710
采纳率:88%
帮助的人:1095万
展开全部

给你一部分做参考,题目还是要自己完成才能真正学会。

一、1)

create table student(
stuID char(6) primary key,
stuName varchar(50) not null,
stuSex char(2),
spec varchar(20) not null)

二、2)

insert into course values(1, '数据库原理与应用', 4.5)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式