1. 程式人生 > >SQL Server資料更新

SQL Server資料更新

文章目錄

1.實驗目的

    通過本次實驗使學生掌握SQL資料更新操作。

2.實驗內容

  1. 資料插入
  2. 資料修改
  3. 資料刪除

3.實驗環境

  1. Windows
  2. SQL Server

4.實驗步驟及結果

  1. 建立一個數據庫,檔名為“教學”
  2. 開啟“教學”資料庫

Student 表

S# Sname Age Ssex
S1 WANG 15
S2 LI 17
S3 LU 19
S4 ZHAO 13
S5 YANG 20

Course表

C# Cname T#
C1 Maths T1
C2 DB T2
C3 English T3
C4 Computer T2

SC表

S# C# Score
S1 C1 50
S2 C1 70
S3 C1 80
S4 C1 75
S5 C1 87
S1 C2
S2 C2
S4 C2 85
S1 C3
S5 C4 60
S4 C4 45

Title表

T# Tname Title
T1 吳恩達 教師
T2 劉曉慶 教授
T3 張龍 副教授

註明:表格和下面的程式碼可能不會一一對應,可能需要增加,刪除,更改表中的資料

  1. 輸入如下資料:

1、往關係course中插入一個課程元組

    Insert 
    	into course(C#,cname,T#)
    	values ('C5','COMPUTER','t3')
    go

2) 在sc中刪除尚無成績的選課元組

    Delete 
    	from sc
    	where score is null
    go

3) 把選修劉曉慶老師課程的女同學的選課元組全部刪去

    Delete 
    	from SC
    	where c# 
    	in (select c#
    		from course,title
 			where course.t#=title.t# and tname='劉曉慶')and 
				s# in(select s#
    			from student
    			where sex='女')
    go

4) 統計每個學生的平均成績並存到平均成績表中。

    Create Table avgescore
    	(s# char(9) primary key,
    		chengji smallint)
    go

        建立表和插入資料不能同時進行

    Insert into avgescore
    	select student.s#,avg(score) 成績
    		from student,sc
    		where student.s#=sc.s#
    		group by student.s#;
    go

        insert如果是查詢不需要加 values

5) 把maths不及格的成績全改為 60分

    Update sc 
    	set score=60 
    	where score<60 and c# in (
    		select c# 
    		from course where Cname='maths')
    go

6) 把低於所有課程總平均成績的女同學成績提5%

    Update SC 
    	set score=score*1.05 
    	where s# in(
    	Select s# 
    		from Student 
	    	where sex='女') 
    		and score<(
    		Select AVG(score) 
    			From SC);
    go

7) 刪除所有女同學的選課資訊。

    Delete 
    	from sc
    	where s# in
    	(select s#
    		from Student 
    		where sex='女'and c# is not null)
    go

8) 一次往Title表裡加入3名老師資訊

    Insert 
 	into title(t#,tname,title)
    	values('t5','王天一','教授'),
    	('t6','張萌','助教'),
    	('t7','林莉','助手')
    go

9)將教師號為T3的教師姓名改為劉凱,職稱改為實驗員

    Update title 
    	Set tname = '劉凱', title = '實驗員'
	    Where t# = 't3'  
	go