資料操作 DML

 

資料查詢語言: DML(Data Manipulation Language)的指令及附帶指令是負責進行資料修改。DQL是用於「資料庫中的資料」變更的各項相關指令,主要分為INSERT、UPDATE、DELETE三種指令為核心。分別代表: 新增、修改與刪除。

範例資料庫



「WHERE」條件是DML執行前的必要檢查,一般的情況下都會加上「WHERE」做有條件的修改或刪除。如果沒有加上「WHERE」條作,將會變更整個資料表中的資料。

INSERT INTO

INSERT INTO 是將命令中的資料新增到至目標資料表 。
INSERT INTO指令主要由三個區塊組成,
第一個區塊表示「資料表」,
第二個區塊表示 「欄位」,
第三個區塊則是欄位對應的資料。
INSERT INTO OGCUSDP        --第1區塊
(DEPT_NO, DEPT_NAME)       --第2區塊
VALUES
('391061','中華科技大學')   --第3區塊
 
 
新增指令完成後,可以用「SELECT」指令或瀏覽資料的方式來確認是否正確完成。
SELECT * FROM OGCUSDP WHERE DEPT_NO = '391061'
 
 
 
 
 

UPDATE

UPDATE 用於修改表格中資料的指令,將命令中的資料更新到至目標資料表。
UPDATE指令通常會由三個區塊組成,
第一個區塊表示「資料表」,
第二個區塊表示 「欄位:值」,
第三個區塊則是更新的範圍條件。
UPDATE OGCUSDP                   --第1區塊
SET DEPT_NO = '391062'           --第2區塊
WHERE DEPT_NAME = '中華科技大學'   --第3區塊
 
「WHERE」條件是DML執行前的必要檢查,一般的情況下都會加上「WHERE」做有條件的修改或刪除。如果沒有加上「WHERE」條作,將會變更整個資料表中的資料。

DELETE

DELETE 用於刪除表格中資料的指令,將命令中指定範圍的資料從資料表刪除。
DELETE指令通常會由二個區塊組成,
第一個區塊表示「資料表」,
第二個區塊則是刪除的範圍條件。
DELETE FROM OGCUSDP                   --第1區塊
WHERE DEPT_NO = '391062'           --第2區塊
 
「FROM」位於第1區塊中,是必要的關鍵字指令。


在執行各項「DML」指令前後,可以用一點點時間將「DML」指令換成「DQL」指令。在「WHERE」條件不變的情況下,可以觀察受影響的資料確認條件有沒有問題。這個動作可以事前預防執行錯誤指令,也能在錯誤發生時立即補救。
--DELETE FROM OGCUSDP   --執行刪除前先確認資料範圍
SELECT * FROM MRSBASE_A
WHERE Remark !=''
 

DML 執行前後的確認

DML指令下達後,大部份現代資料庫系統都有確認執行的指令「COMMIT」。相反的情況下,如要解除DML指令則是「ROLLBACK」指令。這些執行或復原的動作,依靠的都是資料庫統中的「交易(Transaction)」做判斷處理。在進階的實作中會逐漸接觸到,現在只需要知道有這個機制就可以了。
透過應用程式存取資料庫的情況下,交易(Transaction)機制比較受到限制。主要是因為在多人存取資料庫的同時,整個資訊系統是依靠資料即時對應串連運行的。透過網頁、手機APP甚到是POS機傳遞的資料都具有即時影響其他功能運作。所以在這些情況下,會在系統中設置自動「COMMIT」的機制減少系統卡頓的狀況發生。

沒有留言:

張貼留言