資料查詢語言: DML(Data Manipulation Language)的指令及附帶指令是負責進行資料修改。DQL是用於「資料庫中的資料」變更的各項相關指令,主要分為INSERT、UPDATE、DELETE三種指令為核心。分別代表: 新增、修改與刪除。
「WHERE」條件是DML執行前的必要檢查,一般的情況下都會加上「WHERE」做有條件的修改或刪除。如果沒有加上「WHERE」條作,將會變更整個資料表中的資料。
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 OGCUSDP --第1區塊 SET DEPT_NO = '391062' --第2區塊 WHERE DEPT_NAME = '中華科技大學' --第3區塊
「WHERE」條件是DML執行前的必要檢查,一般的情況下都會加上「WHERE」做有條件的修改或刪除。如果沒有加上「WHERE」條作,將會變更整個資料表中的資料。
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」的機制減少系統卡頓的狀況發生。
沒有留言:
張貼留言