第八章

Modifying Data in Tables

DML

•Data Manipulation Language (DML)是SQL語句的三個主要群體之一

–insert:添加數據的至資料表

–update:更新表中的數據

–delete:刪除表中數據

–select:檢索 表中數據

insert

•insert [into] table_name [(column_list)] {values (value_list) | select_statement}

•您可以插入多行,在單一insert,通過使用嵌入式select語句

•insert into table_name select * from database_name..table_name

•新增的資料,必需和原來資料表的資料型態一樣

update

•update table_name set column1 = {expression | select_statement} [, column2 = {expression | select_statement}…] [from table_list] [where condition]

•可以加入where條件

delete

•delete [from] table_name [where condition]

•可以加入where條件

truncate

•truncate table table_name

•刪除所有資料

–操作運行速度比delete語法快

–該命令不能用來刪除表中的行的一個子集

case

•case expression

when expression then expression

[when expression then expression…]

[else expression]

end

•case

when condition then expression

[when condition then expression…]

[else expression]

end

•通用是用在 select 和 update

•情況允許的條件返回值由兩個或兩個以上的可能值

•錯誤情況

•No else Clause

•必需要包含所有值

•如果沒有包含到,就會變成NULL

•規則

•不可以使用在運算

•只有可以回傳值

•至少要有一個成立

•Transaction Log

•事務日誌是用來恢復用戶錯誤或系統故障的事件中的數據在每個數據庫的系統表

•當insert、update和delete就會記錄在這裡

•“最低限度記錄的操作”在事務日誌中不記錄

–select into

–truncate table