- Data Manipulation Language
-
Die Data Manipulation Language (DML, englisch für „Datenbearbeitungssprache“) ist derjenige Teil einer Datenbanksprache, der verwendet wird, um Daten zu lesen, zu schreiben, zu ändern und zu löschen. DML ist die Datenver- oder Datenbearbeitungssprache einer Datenbank und schließt die Formulierung von Abfragen ein.
Für frühere und heutige Systeme sind zum Teil sehr verschiedene Ausprägungen der DML entworfen worden. Beispiele:
- In den historischen IMS-Datenbanken ist die eigenständige DML namens DL/I eine Sprache für andere Computer-Programme. Beispiel:
CALL PLITDLI(FOUR, 'GHU ', DB_PCB, IO_AREA, SSA1)
- In SQL liegt sie, neben Data Definition (DDL) und Data Control Language (DCL), in Form englischer Befehlsklauseln vor. Beispiele:
DELETE FROM bestellungen WHERE bestellstatus IS NULL SELECT postleitzahl, stadt FROM kunden ORDER BY postleitzahl
Während in den ersten zwanzig Jahren der Datenbanktechnik die DML hauptsächlich zur Programmierung verwendet wurde, wird heute auch Wert auf die direkte Verwendung durch Benutzer gelegt. So kann z. B. die SQL-DML in den meisten Systemen auch interaktiv als Kommandosprache verwendet werden. Auch ist heute in der Regel das Wissen über interne technische Speicherstrukturen nicht mehr notwendig, um entsprechende Verarbeitungsbefehle formulieren zu können. In diesem Fall spricht man von deskriptiven (beschreibenden) Sprachen.
Sonderstellung der Abfrage
Die Sprachelemente zur Datenabfrage (bei SQL sind das die Schlüsselwörter
SELECT
,JOIN
,WHERE
etc.) werden aufgrund ihrer Sonderstellung manchmal einer eigenen Kategorie Data Query Language (DQL, „Datenabfragesprache“), seltener auch Data Retrieval Language (DRL), zugeordnet. Diese Einteilungen sind jedoch unüblich und nicht standardisiert. Die Zuordnung zur Kategorie DML lässt sich damit erklären, dass die Daten bei einer Abfrage selten in ihrer ursprünglichen Form, sondern meist „manipuliert“ (gefiltert, sortiert etc.) ausgeliefert werden.SQL
In der praktisch wichtigen Structured Query Language lautet die Syntax wie folgt:
INSERT INTO Relation [( Attribut+ )] VALUES ( ( Konstante+ ) )+ INSERT INTO Relation [( Attribut+ )] SFW-Block UPDATE Relation SET (Attribut=Ausdruck)+ [WHERE Where-Klausel] MERGE INTO Relation USING Quelle ON Join-Klausel WHEN MATCHED UPDATE SET (Attribut=Ausdruck)+ WHEN NOT MATCHED [BY TARGET] INSERT (Attributliste) VALUES (Ausdruckliste) [WHEN NOT MATCHED BY SOURCE DELETE] DELETE FROM Relation [WHERE Where-Klausel] TRUNCATE Relation
Mit INSERT können explizit konstruierte Tupel oder die Ergebnisse eines SFW-Blocks in eine Relation eingefügt werden. Dabei kann jeweils mehr als eine Zeile verarbeitet werden.
- Ausdruck aus der
UPDATE-Anweisung kann insbesondere auch auf das zu manipulierende Attribut Bezug nehmen wie zum Beispiel in
UPDATE Personal SET Gehalt=Gehalt*2 WHERE Abteilung='EDV'
- Wird bei DELETE die WHERE-Klausel weggelassen, werden alle Tupel gelöscht, aber nicht das Relationsschema.
Die TRUNCATE-Anweisung leert eine Tabelle vollständig und setzt im Unterschied zu
DELETE FROM Table
auch jegliche Indizes (Die dem Index zugrundeliegende Datenstruktur wird komplett geleert) und Auto-Increment-Werte auf die Standardwerte. Zu beachten ist, dassTRUNCATE
bei einigen DBMS, wie zum Beispiel MSSQL, keine Trigger auslöst.Beispiele:
INSERT INTO Student (MatrNr, Name) VALUES (27123, 'Meier')
- Fügt eine Zeile mit den geg. Werten für die Spalten MatrNr und Name in die Tabelle Student hinzu.
INSERT INTO Student (MatrNr, Name) VALUES (27124, 'Schulz'), (27125, 'Schmidt')
- Fügt zwei Zeilen mit den angegebenen Werten für die Spalten MatrNr und Name in die Tabelle Student hinzu.
INSERT INTO Student VALUES (27126, 'Schmidt')
Beim INSERT-Statement kann die erste Klammer mit den Attribut-Namen auch weggelassen und direkt mit values() die Werte eingefügt werden. Allerdings müssen dann die Werte in der gleichen Reihenfolge wie in der Tabellendefinition angegeben werden. Zusätzlich müssen Werte für alle Spalten der Tabelle bereitgestellt werden.
INSERT INTO Student (MatrNr, Name) SELECT MatrNr, Name FROM Student_alt
- Lädt alle Studenten aus der Tabelle Student_alt in die Tabelle Student.
UPDATE Student SET Name = 'Meier' WHERE MatrNr = 27124
- Ändert den Wert der Spalte Name in der Tabelle Student für eine bestimmte MatrNr.
DELETE FROM Student
- Löscht alle Zeilen aus der Tabelle Student.
DELETE FROM Student WHERE MatrNr = 27124
- Löscht die Zeile mit der MatrNr 27124 aus der Tabelle Student.
TRUNCATE TABLE Student
Leert die Tabelle Student und setzt den eventuell vorhandenen Auto-Increment-Wert auf den definierten Standard (meistens 1).
Siehe auch
Wikimedia Foundation.
См. также в других словарях:
Data Manipulation Language — (DML) (язык управления (манипулирования) данными) это семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных. На текущий… … Википедия
Data Manipulation Language — [engl.], Datenmanipulationssprache … Universal-Lexikon
Data Manipulation Language — A data manipulation language (DML) is a family of syntax elements similar to a computer programming language used for inserting, deleting and updating data in a database. Performing read only queries of data is sometimes also considered a… … Wikipedia
data manipulation language — DML kalba statusas T sritis informatika apibrėžtis Kalba, naudojama ↑duomenų bazių valdymo sistemose duomenims į ↑duomenų bazę įterpti, atnaujinti ir ↑užklausoms vykdyti. DML kalba taip pat gali atlikti matematinius ir statistinius skaičiavimus,… … Enciklopedinis kompiuterijos žodynas
Data Definition Language — (DDL) (язык описания данных) это семейство компьютерных языков, используемых в компьютерных программах для описания структуры баз данных. На текущий момент наиболее популярным языком DDL является SQL, используемый для получения и… … Википедия
Data Description Language — Die Data Definition Language (DDL) ist eine Computersprache, die verwendet wird, um Datenstrukturen und verwandte Elemente zu beschreiben, zu ändern oder zu entfernen. Ursprünglich bezog sich DDL auf Datenbanksysteme, der Begriff wird aber heute… … Deutsch Wikipedia
Data Definition Language — A data definition language or data description language (DDL) is a syntax similar to a computer programming language for defining data structures, especially database schemas. Contents 1 History 2 SQL 2.1 CREATE statements … Wikipedia
Data Query Language — Die Data Manipulation Language (DML, englisch für „Datenbearbeitungssprache“) ist derjenige Teil einer Datenbanksprache, der verwendet wird, um Daten zu lesen, zu schreiben, zu ändern und zu löschen. DML ist die Datenver oder… … Deutsch Wikipedia
Data control language — A data control language (DCL) is a syntax similar to a computer programming language used to control access to data stored in a database. In particular, it is a component of Structured Query Language (SQL). Examples of DCL commands include: GRANT … Wikipedia
Data Definition Language — Die Data Definition Language (DDL) ist eine Computersprache, die verwendet wird, um Datenstrukturen und verwandte Elemente zu beschreiben, zu ändern oder zu entfernen. Ursprünglich bezog sich DDL auf Datenbanksysteme, der Begriff wird aber heute… … Deutsch Wikipedia