数据操纵语言
数据操纵语言(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在多数用户界面的应用程式,也是与系统相关的重要功能。 例如在通讯录软件中,基本存储单元是单个联络人条目。一个通讯录软件最基本的功能,必须允许用户可以操作:
- 添加或创建新的联络人条目
- 读取,检索,搜索或查看现有条目
- 更新或编辑现有条目
- 删除现有条目
如果没有这四个操作,该软件或许不是完整的版本。由于这些操作很重要,它们通常在一个大的功能标题下记录和描述,例如“联络人管理”,“内容管理”或“联络人维护”(或“文档管理”),具体取决于基本存储单元 特定的应用程式)。