www.wikidata.de-de.nina.az
Die Data Manipulation Language DML deutsch Datenbearbeitungssprache ist der Teil einer Datenbanksprache die verwendet wird um Daten zu schreiben zu lesen zu andern und zu loschen DML ist die Datenver oder Datenbearbeitungssprache einer Datenbank und schliesst die Formulierung von Abfragen ein Fur fruhere und heutige Systeme sind zum Teil sehr verschiedene Auspragungen der DML entworfen worden Beispiele In den historischen IMS Datenbanken ist die eigenstandige DML namens DL I eine Sprache fur 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 Wahrend in den ersten zwanzig Jahren der Datenbanktechnik die DML hauptsachlich 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 uber interne technische Speicherstrukturen nicht mehr notwendig um entsprechende Verarbeitungsbefehle formulieren zu konnen In diesem Fall spricht man von deskriptiven beschreibenden Sprachen Sonderstellung der Abfrage BearbeitenDie Sprachelemente zur Datenabfrage bei SQL sind das die Schlusselworter a href Selektion Informatik html title Selektion Informatik SELECT a a href Relationale Algebra Join html title Relationale Algebra JOIN a 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 unublich und nicht standardisiert Die Zuordnung zur Kategorie DML lasst sich damit erklaren dass die Daten bei einer Abfrage selten in ihrer ursprunglichen Form sondern meist manipuliert gefiltert sortiert etc ausgeliefert werden SQL BearbeitenIn 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 konnen explizit konstruierte Tupel oder die Ergebnisse eines SFW Blocks in eine Relation eingefugt werden Dabei kann jeweils mehr als eine Zeile verarbeitet werden Ausdruck aus derUPDATE 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 geloscht aber nicht das Relationsschema Die TRUNCATE Anweisung leert eine Tabelle vollstandig 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 dass TRUNCATE bei einigen DBMS wie zum Beispiel MSSQL keine Trigger auslost Beispiele INSERT INTO Student MatrNr Name VALUES 27123 Meier Fugt eine Zeile mit den geg Werten fur die Spalten MatrNr und Name in die Tabelle Student hinzu INSERT INTO Student MatrNr Name VALUES 27124 Schulz 27125 Schmidt Fugt zwei Zeilen mit den angegebenen Werten fur 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 eingefugt werden Allerdings mussen dann die Werte in der gleichen Reihenfolge wie in der Tabellendefinition angegeben werden Zusatzlich mussen Werte fur alle Spalten der Tabelle bereitgestellt werden INSERT INTO Student MatrNr Name SELECT MatrNr Name FROM Student alt Ladt alle Studenten aus der Tabelle Student alt in die Tabelle Student UPDATE Student SET Name Meier WHERE MatrNr 27124 Andert den Wert der Spalte Name in der Tabelle Student fur eine bestimmte MatrNr DELETE FROM Student Loscht alle Zeilen aus der Tabelle Student DELETE FROM Student WHERE MatrNr 27124 Loscht 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 Andere Sprachelemente der Datenbank BearbeitenData Definition Language Data Control Language Transaction Control Language Abgerufen von https de wikipedia org w index php title Data Manipulation Language amp oldid 235379756