欢迎光临散文网 会员登陆 & 注册

MySQL任务管理器cmd代码启动,视图,逻辑删除和表中添加列,个人的理解等【诗书画唱】

2020-08-19 01:02 作者:诗书画唱  | 我要投稿

cmd代码启动MySQL,在cmd中输入net start mysql(命令 启动 mysql)

或任务管理器中,开启MySQL等。


创建带有学生编号,姓名,性别,成绩的视图
在以上视图中查询编号大于5的学生的信息
在以上视图中查询性别为男的信息
统计每个人的平均成绩
统计男学生和女学生的平均成绩
查询班级平均成绩最高的人比最低的人多多少分







  1. 创建带有学生编号,姓名,性别,成绩的视图




--drop view viewName1

--【个人认为inner显示的是多表中都内容不为null的,left显示的是多表中,左内容有为null的,这里用left更好】

create view viewName1  as

select stu.xuehao,stu.xingming, stu.sex, cj.chengji ,zhuanyename from cj left join stu on cj.xuehao

=stu.xuehao left join zy on zy .zhuanyeid=cj.zhuanyeid


在以上视图中查询编号大于5的学生的信息

select * from  viewName1 where xuehao> 5


在以上视图中查询性别为男的信息

select * from  viewName1 where sex='男'

统计每个人的平均成绩 

select   xingming as '姓名' ,avg(chengji)  as '平均成绩' from  viewName1 group by xingming

统计男学生和女学生的平均成绩

select   (select   avg(chengji) from  viewName1 where sex='男' ) as '男学生平均成绩' 

, (select  avg(chengji) from  viewName1 where sex='女' ) as '女学生平均成绩' 



2.创建班级学生平均成绩的视图

--drop view viewName2

create view viewName2  as

select stu.xuehao,stu.xingming, stu.sex, avg (chengji )  as 'avgChengjiKe' from cj left join stu on cj.xuehao

=stu.xuehao left join zy on zy .zhuanyeid=cj.zhuanyeid group by xingming

--drop view viewName3

create view viewName3  as

select avg (chengji )  as 'avgChengjiClass' from cj left join stu on cj.xuehao

=stu.xuehao left join zy on zy .zhuanyeid=cj.zhuanyeid 

查询课程平均成绩最高的人比最低的人多多少分


select   (max(avgChengjiKe) -min(avgChengjiKe) ) as '课程平均成绩最高的人比最低的人多的分数' 

  from  viewName2 

在以上视图查询平均成绩比班级平均成绩高的人


select    xingming as '姓名' ,avgChengjiKe as '课程平均成绩' ,(select avgChengjiClass   from viewName3) 

as '班级平均成绩' 

  from  viewName2  where   avgChengjiKe >(select avgChengjiClass   from viewName3) 

在以上视图查询那些人的课程分数低于班级平均成绩




select    xingming as '姓名' , chengji  as '成绩'   ,zhuanyename as '课程名' ,(select avgChengjiClass   from viewName3) as '班级平均成绩' 

from  viewName1  where     chengji<(select avgChengjiClass   from viewName3) 


统计班级有那些人的那些课程分数高于班级的平均成绩

--select * from stu

--select * from cj

--drop view viewName5

select    xingming as '姓名' , chengji  as '成绩'   ,zhuanyename as '课程名' ,(select avgChengjiClass   from viewName3) as '班级平均成绩' 

from  viewName1  where     chengji  >(select avgChengjiClass   from viewName3) 

3.创建每个人拥有几门课程的视图,显示每个人的姓名和课程名称

create view  viewName5   as (select  xingming as '姓名',  count(distinct zhuanyename) as'a' ,zhuanyename as '课程名'   from stu  left join  cj on stu.xuehao=cj.xuehao   

left join  zy on zy.zhuanyeid=cj.zhuanyeid    group by  xingming)


统计班级最多课程的人比最少课程的人的课程多几门


 select  (max(a) -min(a) )  as '最多课程的人比最少课程的人的课程多几门' from viewName5





MySQL任务管理器cmd代码启动,视图,逻辑删除和表中添加列,个人的理解等【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律