高级查询

创建了数据表之后,有时可能会因为默写原因需要修改表结构,如添加列等.MySQL使用Alter关键字来实现.注意在修改表前,使用SHOW TABLES语句查看数据库中是否存在该表.

修改表名

在一个数据库中,表名是唯一的.可以通过SQL语句对以创建的表修改表名.语法如下:

 Alter table<旧表名>Rename[To]<新表名> 

添加字段

语法: Alter Table 表名 ADD 字段名 数据类型; 

修改字段

语法: Alter Table 表名 Change 原字段名 新字段名 数据类型; 

删除字段

语法: Alter Table 表名 Drop 字段名 

小测试:

查询参加最近一次Logic Java考试成绩的学生的最高分和最低分:

1 SELECT MAX(studentResult) 最高分,MIN(studentResult)最低分 FROM result WHERE SUBJECTNo =(SELECT SUBJECTNo from `subject` WHERE subjectName='Logic Java') and (SELECT MAX(examDate) from result)

 

使用IN关键字的子查询来查询第一学期(S1)学期开设的课程

1 SELECT subjectName from `subject` WHERE gradeID in (SELECT gradeID FROM grade WHERE GradeName='S1')

 

使用Not In 关键字的子查询来查询未参加HTML课程最近一次考试在读的学生名单

1 SELECT * FROM  student WHERE studentNo 
2 in( 
3 SELECT subjectNo from result WHERE subjectNo 
4 in( SELECT subjectNo from `subject` WHERE subjectName='HTML' )
5  and examdate in(SELECT MAX(examDate)) from result WHERE subjectNo 
6 in (SELECT subjectNo from `subject` WHERE subjectName='HTML') )

 

posted @ 2020-08-24 16:33  伯驹  阅读(538)  评论(0编辑  收藏  举报