資料操縱語言

维基百科,自由的百科全书

跳转到: 导航, 搜索

資料操縱語言 (Data Manipulation Language) 是SQL語言中,負責對資料庫物件執行資料存取工作的指令集,以SELECTINSERTUPDATEDELETE四種指令為核心,分別代表選取 (Retrieve)、建立 (Create)、修改 (Update) 與刪除 (Delete),是開發以資料為中心的應用程式必定會使用到的指令,因此有很多開發人員都把 DML 四大指令以「CRUD」來稱呼。

目录

[编辑] 語法結構

DML 的主要功能即是存取資料,因此其語法都是以讀取與寫入資料庫為主,除了INSERT以外,其他三種指令都可能需搭配WHERE指令來過濾資料範圍,或是不加WHERE指令來存取全部的資料。

[编辑] SELECT

主条目:SELECTFROMWHEREGROUP BYORDER BY

SELECT是提取的指令,其語法結構為:

SELECT [要提取的欄位,或是用 "*" 代表全部的欄位]
FROM   [要提取的資料來源物件,包含資料表,檢視表與表格型使用者函數等] -- 可搭配 JOIN 做關聯式連結。
WHERE  [提取的過濾條件] -- WHERE 可有可無。
GROUP BY [要做彙總的群組欄位] -- GROUP BY 在使用彙總指令時必須要有。
HAVING [要做為條件的彙總欄位] -- 要使用彙總函數作為條件時使用
ORDER BY [要排序的欄位與方向] -- ORDER BY 可有可無,若沒有則是按照查詢引擎的輸出序為主。

例如:

SELECT p.Name, sod.SalesOrderID
FROM Production.Product p
INNER JOIN Sales.SalesOrderDetail sod ON p.ProductID = sod.ProductID
ORDER BY p.Name

[编辑] INSERT

主条目: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 指令是依給定條件,將符合條件的資料表中的資料更新為新的數值,其基本格式為:

UPDATE [資料表或可更新檢視表物件名稱] SET 欄1=值1, 欄2=值2, 欄3=值3, ... WHERE [指定條件]

例如:

UPDATE myTable SET Col1 = 3, Col2 = 5, Col4 = 5 WHERE Col0 = 198273

[编辑] DELETE

主条目:DELETE

DELETE 指令為自資料庫物件中刪除資料的指令,基本語法為:

DELETE FROM [資料表或可更新檢視表名稱] WHERE [給定條件]
DELETE * FROM [資料表或可更新檢視表名稱] WHERE [給定條件] -- 部份資料庫需要加 "*" 才會生效,例如 Microsoft Access

例如:

DELETE FROM myTable WHERE col0 = 1918299


[编辑] 參考資料

  1. MySQL SQL Syntax
  2. Oracle® Database SQL Language Reference
  3. Transact-SQL Reference
  4. PostgreSQL SQL Commands
数据库管理系统(DBMS)查看  討論  編輯  歷史 )

概念
數據庫 · 數據庫模型 · 資料庫儲存結構 · 关系模型 · 分散式資料庫 · ACID · NULL值
关系数据库 · 关系代数 · 关系演算 · 資料庫正規化 · 參照完整性 · 关系数据库管理系统 
主鍵 · 外键 · 代理鍵 · 超鍵 · 候選鍵 

資料庫物件
觸發程序 · 檢視表 · 資料表 · 指標 · 事务日志 · 数据库事务 · 数据库索引 
預存程序 · 資料庫分割

SQL
分類:資料定義語言 · 資料操縱語言 · 資料控制語言
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

数据库管理系统的实施

实施类型
关系数据库 · 檔案型資料庫 · Deductive · 維度化資料庫 · 階層式 · 对象数据库 · 物件關聯式資料庫 · Temporal · XML資料庫

数据库产品
对象型 (对比) · 关系型 (对比)

数据库成分
查詢語言 · 查詢最佳化器 · 查詢計畫 · ODBC · JDBC · OLE DB

个人工具