資料操縱語言
数据操纵语言(Data Manipulation Language, DML)是用於資料庫操作,對資料庫其中的物件和資料執行存取工作的編程語句,通常是資料庫專用編程語言之中的一個子集,例如在資訊軟體產業通行標準的SQL語言中,以INSERT
、UPDATE
、DELETE
三種指令為核心,分別代表插入(意指新增或創建)、更新(修改)与删除(銷毀)。在使用資料庫的系統開發過程中,其中應用程式必然會使用的指令;而加上 SQL的SELECT
语句,歐美地區的開發人員把這四種指令,以「CRUD」(分別為 Create, Retrieve, Update, Delete英文四字首字母縮略的術語)來稱呼;而亞洲地區使用漢語的開發人員,或可能以四個漢字:增 查 改 刪 來略稱。
語法結構
DML 的主要功能即是存取資料,因此其語法都是以讀取與寫入資料庫為主,除了INSERT
以外,其他指令都可能需搭配WHERE
指令來過濾資料範圍,或是不加WHERE
指令來存取全部的資料。
SELECT
SELECT是SQL資料操縱語言(DML)中用於查詢表格內欄位資料的指令,可搭配條件限制的子句(如where)或排列順序的子句(如order)來取得查詢結果。
基本格式有:
SELECT [ALL | DISTINCT] 欄位名 [,欄位名...]
FROM 資料表名 [,資料表名...]
[WHERE 篩選條件式]
[GROUP BY 欄位名[,欄位名...]]
[ORDER BY 欄位名[,欄位名...]]
INSERT
INSERT 是將資料插入到資料庫物件中的指令,可以插入資料的資料庫物件有資料表以及可更新檢視表兩種。
基本格式有:
INSERT INTO [資料表或可更新檢視表物件名稱] (欄位1, 欄位2, 欄位3, ...) VALUES (值1, 值2, 值3, ...) -- 只需要根據指定的欄位來設定插入值。
INSERT INTO [資料表或可更新檢視表物件名稱] VALUES (值1, 值2, 值3, ...) -- 必須要指定所有欄位的插入值。
例如:
INSERT INTO myTable (col1, col2, col3, col4, col5) VALUES (1, 2, 3, '4', '5')
INSERT INTO myTable VALUES (1, 2, 3, '4', '5')
UPDATE
UPDATE 指令是依給定條件,將符合條件的資料表中的資料更新為新的數值,其基本格式為:
UPDATE [資料表或可更新檢視表物件名稱] SET 欄1=值1, 欄2=值2, 欄3=值3, ... WHERE [指定條件]
例如:
UPDATE myTable SET Col1 = 3, Col2 = 5, Col4 = 5 WHERE Col0 = 198273
DELETE
DELETE 指令為自資料庫物件中刪除資料的指令,基本語法為:
DELETE FROM [資料表或可更新檢視表名稱] WHERE [給定條件]
DELETE * FROM [資料表或可更新檢視表名稱] WHERE [給定條件] -- 部份資料庫需要加 "*" 才會生效,例如 Microsoft Access
例如:
DELETE FROM myTable WHERE col0 = 1918299
用戶介面的增查改刪功能
CRUD在多數用戶介面的應用程序,也是與系統相關的重要功能。 例如在通訊錄軟件中,基本儲存單元是單個聯絡人條目。一個通訊錄軟件最基本的功能,必須允許用戶可以操作:
- 添加或創建新的聯絡人條目
- 讀取,檢索,搜索或查看現有條目
- 更新或編輯現有條目
- 刪除現有條目
如果沒有這四個操作,該軟件或許不是完整的版本。由於這些操作很重要,它們通常在一個大的功能標題下記錄和描述,例如“聯絡人管理”,“內容管理”或“聯絡人維護”(或“文檔管理”),具體取決於基本存儲單元 特定的應用程序)。