天天看點

資料庫必知詞彙:資料操縱語言DML

|名詞定義|

資料操縱語言(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/MySQL

Tutorials

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