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

SQL資料更新

1.對於student表,將所有所在系部資訊為’CS’的改為’計算機科學系’.

  UPDATE student

SET Sdept='計算機科學系'

WHERE Sdept='CS';

2.對於course表,將資料結構課程的學分改為3。

  UPDATE Course

SET Ccredit='3'

WHERE Cname='資料結構';

3.對於student表,插入一條新記錄,它的具體資訊為,學號:201216011、姓名:張三、性別:男、年齡:21,所在系部:數學系。

  INSERT

INTO Student(Sno,Sname,Ssex,Sage,Sdept)

VALUES('201216011','張三','男',21,'數學系');

4.對於course表,插入兩條記錄,記錄的值自己給定。

  INSERT

INTO Course(Cno,Cname,Cpno,Ccredit)

VALUES('8','英語',NULL,'3');

INSERT

INTO Course(Cno,Cname,Cpno,Ccredit)

VALUES('9','C++語言','6','4');

5.對於SC表,將課程編號為2號的最低分改為在原分數*1.1

  UPDATE SC

SET Grade=Grade*1.1

WHERE Cno='2' and

Grade in

        (SELECT MIN(Grade)

         FROM SC

         WHERE Cno='2');

6.對於SC表,將課程名為資料庫的最低分改為在原分數*1.1

  UPDATE SC

SET Grade=Grade*1.1

WHERE Grade in

        (SELECT MIN(Grade)

         FROM SC,Course

         WHERE Cname='資料庫' and

              SC.Cno=Course.Cno);

7.建立一個新表SC_T,該表的欄位名稱,型別與表SC一致

  CREATE TABLE SC_T

(Sno CHAR(9),

Cno CHAR(4),

Grade SMALLINT,

PRIMARY KEY (Sno,Cno))

8.在SC_T表中,插入若干選課記錄,學號為student表中出現的學號,課程編號為1

  INSERT INTO SC_T(Sno,Cno)

SELECT Sno,Cno

FROM SC

WHERE Cno='1' and

Sno IN

(select Sno

        from SC

        group by Sno);

9.在SC_T表中,插入若干選課記錄,學號為student表中出現的學號,課程編號為作業系統課程的編號

  INSERT INTO SC_T(Sno,Cno)

SELECT Sno,Cno

FROM SC

WHERE Cno in

(SELECT SC.Cno

        FROM SC,Course

        WHERE Cname='作業系統' and

              SC.Cno=Course.Cno) and

               Sno in

(select Sno

               From SC

               group by Sno);

10.用select語句檢查8,9的操作是否正確,如果正確,則刪除SC_T表中的所有記錄

   DELETE FROM SC_T

11.在SC_T表中,插入若干選課記錄,學號為student表中出現的學號,課程編號為在課程表中出現的所有課程號。

   INSERT INTO SC_T(Sno,Cno)

SELECT Sno,Cno

FROM SC

WHERE Cno in

(select Cno

         from SC

         group byCno) and

         Sno in (select Sno

                 from SC

                 group by Sno);

12.用select語句檢查11的操作是否正確.

       SELECT Sno,Cno

FROM SC

WHERE Cno in

(select Cno

              fromSC

              groupby Cno) and

              Sno in (select Sno

                      fromSC

                      groupby Sno);