數據庫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='信息系');

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM