数据操纵语言(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页面存档备份,存于互联网档案馆

📚 Artikel Terkait di Wikipedia

插入 (SQL)

在SQL裡,可以利用INSERT陈述式對資料表插入一个元组或子查询结果。 插入元组的语句格式为: INSERT INTO 資料表名 (欄位1, [欄位2, ... ]) VALUES (常數值1, [常數值2, ...]) 这段代码的作用,是将新元组插入指定的資料表中,欄位与常數值一一对应。如果欄位没有被定义,则填入欄位預設值。

插入键

插入键(Insert key,缩写INS)是电脑键盘的一个键,主要用于在文字处理器切换文本输入的模式。一种为覆盖模式,游标位置新输入字会替代原来的字;另一种为插入模式,新输入的字插入到光标位置,原来的字相应后移。在早期的计算机终端里,如果在覆盖模式,游标会变成一个方块而不是通常的竖线。

红黑树

(n)->color = RED; insert_case1(grandparent(n)); } else insert_case4 (n); } 注意:在余下的情形下,我们假定父节点P是其祖父G的左子节点。如果它是右子节点,情形4和情形5中的左和右应当对调。 void insert_case4(node *n){

Prepare (SQL)

预处理语句采取预编译模板的形式,在每次执行时替换其中的常量值。它通常用于INSERT、SELECT或 UPDATE等DML语句。 预处理语句常见工作流: 准备 (Prepare):应用程序创建语句模板并发送给DBMS。某些值保持未指定状态,称为参数、占位符或绑定变量(如下文中的?): INSERT INTO products (name

模塑

with 2 side pulls. Close up of removable insert in "A" side. "B" side of die with side pull actuators. Insert removed from die. 模塑. 术语在线. 全国科学技术名词审定委员会

佛教

contributions in this section envisage a date before 420 B.C." and "to 350 B.C." insert "Akira Hirakawa defends the short chronology and Heinz Bechert himself sets

耐心排序

int insert; for (insert = 0; insert < (int) piles.size(); insert++) //計算目前元素比多少個堆陣列第一個元素還大 if (new_pile[0] < piles[insert][0]) break; if (insert == (int)

Google

将标志改成了可以玩吃豆子游戏的迷宫地图。这个小游戏还有着与原版一样的音效。“手气不错”(I'm Feeling Lucky)键则被“投入硬币”(Insert Coin)键所暂时取代。按下这个键可以加入第二位玩家——“吃豆人小姐”,用键盘上的W、S、A、D键操控。两天后的5月23日,吃豆子游戏的doo