SQL語言插入數據、修改數據和刪除數據

ØSQL語言的數據更新語句DML主要包括插入數據、修改數據和刪除數據三種語句。

 

4.1.1插入數據記錄

 插入一行新記錄

Ø語法格式爲:

         INSERT INTO <表名>[(<列名1>[,<列名2>…])] VALUES(<>)

 

Ø練習: S表中插入一條學生記錄(學號:S7;姓名:鄭冬;性別:女;年齡:21;系別:計算機)。

參考:

 

INSERT INTO  S
VALUES ('s7','鄭冬','',21,'計算機')
注意:

Ø必須用逗號將各個數據分開,字符型數據要用單引號括起來。

ØINTO子句中沒有指定列名,則新插入的記錄必須在每個屬性列上均有值,且VALUES子句中值的排列順序要和表中各屬性列的排列順序一致。

4.1.1 插入一行的部分數據值

 

Ø練習:  SC表中插入一條選課記錄(’S7’,’C1’)。

參考:

 

INSERT INTO SC (SNO,CNO)
VALUES ('s7',‘c1')

 

ØVALUES子句中的值按照INTO子句中指定列名的順序插入到表中

Ø對於INTO子句中沒有出現的列,則新插入的記錄在這些列上將取空值,如上例的SCORE即賦空值。

Ø但在表定義時有NOT NULL約束的屬性列不能取空值。

4.1.2 插入多行記錄

 

 

Ø插入數據的命令語法格式爲:

INSERT INTO <表名> [(<列名1>[,<列名2>…])]

子查詢

 

Ø練習: 求出各系教師的平均工資,把結果存放在新表AVGSAL中。

參考:

首先建立新表AVGSAL,用來存放系名和各系的平均工資

CREATE TABLE AVGSAL
(DEPARTMENT VARCHAR(20),
AVGSAL SMALLINT)
然後利用子查詢求出T表中各系的平均工資,把結果存放在新表AVGSAL中。

 

INSERT INTO AVGSAL
SELECT DEPT,AVG(SAL)
FROM T
GROUP BY DEPT

 

 

 

 

 

4.2  修改數據記錄

UPDATE <表名>

SET <列名>=<表達式> [,<列名>=<表達式>]…

[WHERE <條件>]

4.2.1 修改一行

Ø練習: 把劉偉教師轉到信息系。

參考:

UPDATE T
SET DEPT='信息'
WHERE TN='劉偉'
Ø

4.2.2  修改多行

Ø練習: 將所有學生年齡增加1

參考:

UPDATE S
SET AGE=AGE+1

Ø練習: 把教師表中工資小於等於1000元的講師的工資提高20%

參考:

 

UPDATE T
SET SAL=1.2*SAL
WHERE PROF='講師'
AND SAL <=1000
Ø練習: 把講授C5課程的教師的崗位津貼增加100

參考:

 

UPDATE T
SET COMN=COMN+100
WHERE TNO IN
(SELECT T.TNO
FROM T,TC
WHERE T.TNO=TC.TNO
AND TC.CNO='C5')
 

4.3 刪除數據記錄

 

Ø使用DELETE語句可以刪除表中的一行或多行記錄,

其語法格式爲:

DELETE

FROM<表名>

[WHERE <條件>]

 

其中,

Ø<表名>是指要刪除數據的表。
ØWHERE子句指定待刪除的記錄應當滿足的條件,WHERE子句省略時,則刪除表中的所有記錄。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章