|名詞定義|
資料操縱語言(Data Manipulation Language, DML)是SQL語言的四大主要分類之一,使用者通過它可以實作對資料庫資料的基本操作。這種操作包括将資料插入資料庫表、檢索現有資料、從現有表中删除資料和更新現有資料。
| 發展曆程 |
SQL(Structure Query Language)語言是資料庫的核心語言。資料操縱語言DML是SQL語言四大主要分類之一。SQL的發展是從1974年開始的,其發展過程如下:
1974年—–由Boyce和Chamberlin提出,當時稱SEQUEL。
1976年—–IBM公司的Sanjase研究所在研制RDBMS SYSTEM R時改為SQL。
1979年—–ORACLE公司發表第一個基于SQL的商業化RDBMS産品。
1982年—–IBM公司出版第一個RDBMS語言SQL/DS。
1985年—–IBM公司出版第一個RDBMS語言DB2。
1986年—–美國國家标準化組織ANSI宣布SQL作為資料庫工業标準。
SQL是一個标準的資料庫語言,是面向集合的描述性非過程化語言。它功能強,效率高,簡單易學易維護(迄今為止,我還沒見過比它還好學的語言)。然而SQL語言由于以上優點,同時也出現了這樣一個問題:它是非過程性語言,即大多數語句都是獨立執行的,與上下文無關,而絕大部分應用都是一個完整的過程,顯然用SQL完全實作這些功能是很困難的。是以大多數資料庫公司為了解決此問題,作了如下兩方面的工作:(1)擴充SQL,在SQL中引入過程性結構;(2)把SQL嵌入到進階語言中,以便一起完成一個完整的應用。
| 技術特點 |
資料操縱語言的語句包括動詞SELECT, UPDATE, INSERT INTO以及DELETE FROM等,它們分别用于選擇、修改、插入和删除:
- SELECT:此指令用于從表中檢索行。文法是SELECT [column name(s)] from [table name] where [conditions]。SELECT是SQL中使用最廣泛的DML指令。
- UPDATE:此指令修改一條或多條記錄的資料。文法是UPDATE [table name] SET [column name = value] where [condition]。
- INSERT:此指令将一條或多條記錄添加到資料庫表中。文法是INSERT INTO [table name] [column(s)] VALUES [value(s)]。
- DELETE:此指令根據指定的條件從表中删除一個或多個記錄。文法是DELETE FROM [table name] where [condition]。
| 相關詞 |
SQL - Structure Query Language語言是資料庫的核心語言
SELECT - retrieve data from the a database 查詢
INSERT - insert data into a table 添加
UPDATE - updates existing data within a table 更新
DELETE - deletes all records from a table, the space for the records remain 删除
CALL - call a PL/SQL or Java subprogram
EXPLAIN PLAN - explain access path to data
LOCK TABLE - control concurrency 鎖,用于控制并發
| 案例展示 |
使用基于DML的資料庫。
MySQL - 是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,屬于 Oracle 旗下産品。
Oracle - 是是甲骨文公司的一款關系資料庫管理系統。
Hive – 是基于Hadoop的一個資料倉庫工具,用來進行資料提取、轉化、加載。
HBase –是一個分布式的、面向列的開源資料庫。
| 資料來源 |
MySQL Introduction
https://www.mysql.com/MySQLTutorials
https://www.w3schools.in/mysql/ddl-dml-dcl/SQL Introduction
https://www.w3schools.com/sql/sql_intro.asp楊波,許麗娟主編;陳剛,駱珍儀,李思思副主編.電子商務概論:北京郵電大學出版社,2014.08
What is Data Manipulation Language (DML)?
https://www.techopedia.com/definition/1179/data-manipulation-language-dml