i

Fachkonzept - Daten anlegen

Strukturen der Datenbank werden mit der Data Definition Language (DDL) angelegt. Ein weiterer Teil von SQL beinhaltet neben dem Befehl zum Auslesen von Daten (SELECT) auch Kommandos zum Manipulieren der Daten (Data Manipulation Language - DML).

DML als ein Teil von SQL

Der Befehl INSERT INTO erlaubt es, einen neuen Datensatz in einer Datenbanktabelle anzulegen. Dabei werden die Attribute angegeben, die mit Werten gefüllt werden sollen. Alle anderen Attribute werden mit ihren Standardwerten (in der Regel NULL) vorbelegt.

Beachte:

  • Die Struktur der Tabelle (ihre Attribute, etc.) muss zuvor schon vorhanden sein!
  • Für das Anlegen von Daten muss der Benutzer das "INSERT"-Recht auf der Datenbank besitzen.

Transaktionskonzept

Alle DML-Befehle sind zunächst einmal "vorläufig" und für alle anderen Benutzer der Datenbank erst einmal nicht sichtbar. Erst das commit macht diese sichtbar in der Datenbank. Sie können danach nicht mehr auf einfachem Weg rückgängig gemacht werden.

Beachte: Wenn du DML-Befehle über Werkzeuge wie z.B. phpMyAdmin ausführst, dann wird dort häufig direkt das commit ausgelöst, d.h. die Datenänderungen werden sofort ausgeführt und sind für alle sichtbar.

Weitere DML-Befehle

Neben dem Einfügen von Daten sind natürlich auch Änderungen an bestehenden Daten und das Löschen von Daten wichtige Aufgaben.

Einzelne Datensätze werden mit dem Befehl
UPDATE tabelle
SET attribut = wert [, attribut = wert ...]
[WHERE bedingung]

geändert.
Das Löschen von Datensätzen erfolgt mit dem Befehl
DELETE FROM tabelle
[WHERE bedingung]
.

Wichtig: Sowohl UPDATE als auch DELETE behandeln alle Datensätze, die die Bedingung erfüllen. So löscht DELETE FROM tabelle alle vorhandenen Datensätze (also aufpassen!).

Beispiele:

; Ändert den Namen des Schülers mit der Nummer 11.
UPDATE schueler 
   SET name="Konda" 
 WHERE SNR = 11

; Löscht alle schueler, deren SNR kleiner als 20 ist.
DELETE FROM schueler 
 WHERE SNR < 20

Suche

v
3.4.5.2
dev.inf-schule.de/datenbanksysteme/zugriff/dml/konzept_dml
dev.inf-schule.de/3.4.5.2
dev.inf-schule.de/@/page/lYIHp1GpediNEwde

Rückmeldung geben