資料操縱語言

数据操纵语言（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在多數用戶介面的應用程序，也是與系統相關的重要功能。 例如在通訊錄軟件中，基本儲存單元是單個聯絡人條目。一個通訊錄軟件最基本的功能，必須允許用戶可以操作：
 添加或創建新的聯絡人條目
 讀取，檢索，搜索或查看現有條目
 更新或編輯現有條目
 刪除現有條目

如果沒有這四個操作，該軟件或許不是完整的版本。由於這些操作很重要，它們通常在一個大的功能標題下記錄和描述，例如“聯絡人管理”，“內容管理”或“聯絡人維護”（或“文檔管理”），具體取決於基本存儲單元 特定的應用程序）。

参考文献

 完整的 SQL 中文參考網站
 MySQL SQL Syntax 
 Oracle® Database SQL Language Reference
 Transact-SQL Reference 
 PostgreSQL SQL Commands 

Category:SQL