A data manipulation language (DML) is a computer
programming language used for adding (inserting), deleting, and modifying (updating) data in a
database. A DML is often a
sublanguage of a broader
database language
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
such as
SQL, with the DML comprising some of the operators in the language.
Read-only selecting of data is sometimes distinguished as being part of a separate
data query language (DQL), but it is closely related and sometimes also considered a component of a DML; some operators may perform both selecting (reading) and writing.
A popular data manipulation language is that of
Structured Query Language (SQL), which is used to retrieve and manipulate
data in a
relational database
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
.
SQL92
SQL-92 was the third revision of the SQL database query language. Unlike SQL-89, it was a major revision of the standard. Aside from a few minor incompatibilities, the SQL-89 standard is forward-compatible with SQL-92.
The standard specificatio ...
Other forms of DML are those used by
IMS Ims is a Norwegian surname. Notable people with the surname include:
* Gry Tofte Ims (born 1986), Norwegian footballer
* Rolf Anker Ims (born 1958), Norwegian ecologist
See also
* IMS (disambiguation) Ims is a Norwegian surname. Notable people wit ...
/DLI,
CODASYL databases, such as
IDMS and others.
SQL
In SQL, the data manipulation language comprises the ''SQL-data change'' statements,
which modify stored data but not the
schema or database objects. Manipulation of persistent database objects, e.g., tables or
stored procedure
A stored procedure (also termed proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data dic ...
s, via the SQL schema statements,
SQL92
SQL-92 was the third revision of the SQL database query language. Unlike SQL-89, it was a major revision of the standard. Aside from a few minor incompatibilities, the SQL-89 standard is forward-compatible with SQL-92.
The standard specificatio ...
4.22.2, SQL statements classified by function rather than the data stored within them, is considered to be part of a separate
data definition language (DDL). In SQL these two categories are similar in their detailed syntax, data types, expressions etc., but distinct in their overall function.
The ''SQL-data change'' statements are a subset of the ''SQL-data'' statements; this also contains the
SELECT query statement,
which strictly speaking is part of the DQL, not the DML. In common practice though, this distinction is not made and ''SELECT'' is widely considered to be part of DML,
so the DML consists of all ''SQL-data'' statements, not only the ''SQL-data change'' statements. The
SELECT ... INTO ...
form combines both selection and manipulation, and thus is strictly considered to be DML because it manipulates (i.e. modifies) data.
Data manipulation languages have their functional capability organized by the initial word in a statement, which is almost always a
verb. In the case of SQL, these verbs are:
*
SELECT ... FROM ... WHERE ...
(strictly speaking DQL)
**
SELECT ... INTO ...
*
INSERT INTO ... VALUES ...
*
UPDATE ... SET ... WHERE ...
*
DELETE FROM ... WHERE ...
For example, the command to insert a row into table employees:
INSERT INTO employees (first_name, last_name, fname) VALUES ('John', 'Capita', 'xcapit00');
Variants
Most SQL database implementations extend their SQL capabilities by providing
imperative, i.e. procedural languages. Examples of these are
Oracle
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The word '' ...
's
PL/SQL and
IBM Db2
Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON a ...
's
SQL_PL.
Data manipulation languages tend to have many different flavors and capabilities between database vendors. There have been a number of standards established for SQL by
ANSI,
but vendors still provide their own extensions to the standard while not implementing the entire standard.
Data manipulation languages are divided into two types,
procedural programming and
declarative programming
In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.
Many languages that ap ...
.
Data manipulation languages were initially only used within
computer programs, but with the advent of SQL have come to be used interactively by database administrators.
See also
*
CRUD
Statements
*
Select (SQL)
*
Insert (SQL)
*
Update (SQL)
*
Delete (SQL)
Related languages
*
Data control language
*
Data definition language
*
Data query language
References
*
External links
DML Commands in Oracle
{{Database
Data modeling
SQL
Articles with example SQL code