数据库SQL语言学习--上机练习3(插入 更新 删除)

上机练习3

 

1、    将一个新学生记录(学号:0100;姓名:陈冬;性别:男;所在系:信息系;年龄:20岁)插入到Student表中;
ALTER TABLE Student 
ADD Sage DECIMAL(18,0);

UPDATE Student 
SET Sage=YEAR(getdate())-DATENAME(yyyy,Sbirth);

INSERT INTO Student(Sno,Sname,Sgender, Sdept,Sage) 
VALUES('0100','陈冬','','信息系','20') ; 2、 重复执行上述1操作,观察执行结果并分析原因; 消息2627,级别14,状态1,第4 行 违反了PRIMARY KEY 约束'PK_Student'。不能在对象'dbo.Student' 中插入重复键。 语句已终止。 无法执行,因为Sno是主码,主码必须是唯一的,而之前的操作已经插入了主码为0100的学生的信息。 3、 新增一条选课记录(学号:0100;课程号:1); INSERT INTO Score(Sno,Cno)
VALUES('0100','0001'); 4、 统计每个系学生的平均年龄,并把结果存入数据库; 建新表 CREATE TABLE Dept_age(Sdept CHAR(15), Avg_age SMALLINT); 存入数据 INSERT INTO Dept_age(Sdept,Avg_age) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept; 5、 将信息系所有学生的年龄减小1岁; UPDATE Student SET Sage=Sage-1 WHERE Sdept='信息系'; UPDATE Student SET Sage=Sage-1 WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept='信息系' ); 6、 将选修了课程号为2的学生的成绩减去2分; UPDATE Score SET Cscore=Cscore-2 WHERE Cno='0002'; 7、 将信息系全体学生的成绩清零; UPDATE Score SET Cscore=0 WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept='信息系'); 8、 删除学号为0100的学生记录; DELETE FROM Student WHERE Sno='0100'; 9、 删除2号课程的所有选课记录; DELETE FROM Score WHERE Cno='0002'; 10、 删除所有的学生选课记录; DELETE FROM Score; 11、 删除信息系所有学生的选课记录。 DELETE F ROM Score WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept='信息系');

 

 

 

posted on 2019-04-03 14:27  蔡军帅  阅读(1497)  评论(0编辑  收藏  举报