跳至內容

資料操縱語言

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

數據操縱語言(Data Manipulation Language, DML)是用於資料庫操作,對資料庫其中的物件和資料執行存取工作的編程語句,通常是資料庫專用編程語言之中的一個子集,例如在資訊軟體產業通行標準的SQL語言中,以INSERTUPDATEDELETE三種指令為核心,分別代表插入(意指新增或創建)、更新(修改)與刪除(銷毀)。在使用資料庫的系統開發過程中,其中應用程式必然會使用的指令;而加上 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在多數用戶介面的應用程序,也是與系統相關的重要功能。 例如在通訊錄軟件中,基本儲存單元是單個聯絡人條目。一個通訊錄軟件最基本的功能,必須允許用戶可以操作:

  • 添加或創建新的聯絡人條目
  • 讀取,檢索,搜索或查看現有條目
  • 更新或編輯現有條目
  • 刪除現有條目

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

參考文獻

  1. 完整的 SQL 中文參考網站
  2. MySQL SQL Syntax頁面存檔備份,存於網際網路檔案館
  3. Oracle® Database SQL Language Reference[失效連結]
  4. Transact-SQL Reference頁面存檔備份,存於網際網路檔案館
  5. PostgreSQL SQL Commands頁面存檔備份,存於網際網路檔案館