高级查询
创建了数据表之后,有时可能会因为默写原因需要修改表结构,如添加列等.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') )