資料操縱語言

维基百科,自由的百科全书
跳转至: 导航搜索

数据操纵语言(Data Manipulation Language, DML)是SQL語言中,負責對資料庫物件執行資料存取工作的指令集,以INSERTUPDATEDELETE三種指令為核心,分別代表插入、更新与删除,是開發以資料為中心的應用程式必定會使用到的指令,因此有很多開發人員都把加上SQL的SELECT语句的四大指令以「CRUD」來稱呼。

語法結構[编辑]

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

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 [資料表或可更新檢視表物件名稱] SET1=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

参考文献[编辑]

  1. 完整的 SQL 中文參考網站
  2. MySQL SQL Syntax
  3. Oracle® Database SQL Language Reference
  4. Transact-SQL Reference
  5. PostgreSQL SQL Commands


数据库管理系统(DBMS) (查看 · 讨论 · 编辑)

概念
数据库 · 数据模型 · 数据库存储结构英语Database storage structures · 关系 (数据库) · 关系模型 · 分布式数据库 · ACID ( 原子性 · 一致性 · 隔離性 · 持久性 ) · Null值
关系数据库 · 关系模型 · 数据库规范化 · 數據庫完整性 · 實體完整性 · 參照完整性 · 关系数据库管理系统 
主键 · 外键 · 代理键 · 超键 · 候选键 

数据库组件
触发器 · 视图 · 数据库表 · 指标 (数据库) · 事务日志英语Transaction log · 数据库事务 · 并发控制 · 乐观锁 · 悲观锁 · 数据库索引 
存储程序 · 資料庫分割

SQL
分类: 数据查询语言 (DQL) - 資料定義語言 (DDL) - 資料操縱語言 (DML) - 資料控制語言 (DCL)
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

数据库管理系统的实现

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

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

数据库组件
数据查询语言 · 查詢最佳化器 · 查詢計畫 · 嵌入式SQL · ODBC · JDBC · OLE DB