文章目录
- 一、表的创建
 - 1.student表的数据
 - 2、课程表的数据course
 - 3、学生成绩表的数据
 
- 二、操作序列
 - 1、查询计算机系cs的全体学生学号、姓名和性别
 - 2、检索选修了课程号为2的学生号和姓名
 - 3、检索至少选修了三门课以上的学生号
 - 4、检索选修了全部课程的学生
 - 5、在原表的基础上创建一个视图名v_student(学号、姓名)
 - 6、更新学号为145689701的学生的姓名ws->王三
 - 7、在student表中删除学号为145689705的学生
 - 8、在student表中插入一条数据
 
 
 
一、表的创建
 
create table student (sno int primary key comment '学号',sname varchar(25) comment '姓名',age int comment '年龄',sex char(20) comment '性别',sdept varchar(36) comment '所在系'
);
create table course(cno int primary key comment '学号',cname varchar(36) comment '课程名',cdept varchar(36) comment '课程所开系'
);
create table  sc(sno int comment '学生学号'  ,cno int comment '学生课程号'  ,grade int comment '课程成绩',primary key (sno,cno),foreign key(sno) references student(sno),foreign key (cno) references course(cno)
);
 
1.student表的数据
 

 
2、课程表的数据course
 

 
3、学生成绩表的数据
 

 
二、操作序列
 
1、查询计算机系cs的全体学生学号、姓名和性别
 
select * from student where sdept='cs';
 

 
2、检索选修了课程号为2的学生号和姓名
 
select student.sno,sname,cno from student,sc where student.sno=sc.sno and cno=2;
 

 
3、检索至少选修了三门课以上的学生号
 
select sno from sc group by Sno having count(*)>3;
 

 
4、检索选修了全部课程的学生
 
                    select sname from studentwhere NOT exists       (select  * from coursewhere NOT exists     (select * from sc wheresno = student.sno  and cno = course.cno))   
 
5、在原表的基础上创建一个视图名v_student(学号、姓名)
 
create view v_student (sno,sname)asselect sno,sname from student
 
6、更新学号为145689701的学生的姓名ws->王三
 
update student set sname='王三' where sno=145689701;
 
7、在student表中删除学号为145689705的学生
 
delete from student where sno=145689705;
 
8、在student表中插入一条数据
 
insert into student(sno, sname, age, sex, sdept) VALUE (145689705,'张强',18,'男','sw');