SQL語言(三)資料庫操縱語言

2021-10-07 12:09:26 字數 2195 閱讀 8207

dml,英文叫做 data manipulation language,資料操作語言,我們用它操作和資料庫相關的記錄,比如增加、刪除、修改資料表中的記錄。

我們只能刪除整個元組,而不能只刪除某些屬性上的值。sql用如下語句表示刪除:

delete

from r

where p;

其中p代表乙個謂詞,r代表乙個關係。

例,從instructor關係中刪除與finance系教師相關的所有元組。

delete

from instructor

where dept_name =『finance』;

sql允許使用insert語句,向關係中插入元組,形式如下:

insert

into r [

(c1,c2,…)

]values

(e1,e2,…)

;insert

into r [

(c1,c2,…)

]select e1,e2,… from …;

例1,假設我們要插入的資訊是computer science系開設的名為「database systems」的課程cs-437,它有4個學分。

insert

into course

values

(『cs-

437』, 『database systems』, 『comp. sci.』,4)

;

sql允許在insert語句中指定屬性,所以上述語句還可寫為:

insert

into course (course_id, title, dept_name, credits)

values

(『cs-

437』, 『database systems』, 『comp. sci.』,4)

;

例2,假設我們想讓music系每個修滿144學分的學生成為music系的教師,其工資為18

000美元

insert

into instructor

select id, name, dept_name,

18000

from student

where dept_name = 『music』 and tot_cred >

144;

sql允許使用update語句,在不改變整個元組的情況下改變其部分屬性的值,形式如下:

update r

set[c2=e2,… ]

>

[where

];

例1,假設給工資超過100 000美元的教師漲3%的工資,其餘教師漲5%

我們可以寫兩條update語句:

update instructor

set salary = salary *

1.03

where salary >

100000

;update instructor

set salary = salary *

1.05

where salary <=

100000

;

注意:這兩條update語句的順序十分重要。如果調換順序,可能導致工資略少於100 000美元的教師將增長8%的工資。

針對上例查詢,我們也可以使用sql提供的case結構,避免更新次序引發的問題,形式如下:

case

when pred1 then result1

when pred2 then result2..

.when predn then resultn

else result0

end

因此上例查詢可重新為:

update instructor

set salary =

case

when salary <=

100000

then salary *

1.05

else salary *

1.03

end

資料庫操縱語言DML

資料庫操縱語言dml dml 有三條語句 insert update delete.一 insert 插入資料 1 插入一條資料 insert into 表名 列名 values 值列表 insert into stuinfo stuname,stuno,stu stuage,stuaddress ...

DML 資料庫操縱語言

增 插入 1,張三,18 注意 字串和日期時間 必須加上 插入完整記錄 insert into student values 1,張三 18 插入部分記錄 insert into student name,age values 張三 18 插入多條完整記錄 insert into student v...

mysql資料庫操縱語言

dml語言增刪改查 插入insert into 表名 列名 values 值列表 例項 insert into students sname,saddress,sgrade,semail,s values 張青裁 上海松江 6,zqc sohu.com 0 注意事項1 每次插入一行資料,不能只插入半...