DELETE

Name

DELETE -- löscht Zeilen einer Tabelle

Synopsis

DELETE FROM [ ONLY ] tabelle [ WHERE bedingung ]

Beschreibung

Der Befehl DELETE löscht die Zeilen aus der angegebenen Tabelle, die die WHERE-Klausel erfüllen. Wenn keine WHERE-Klausel angegeben ist, dann werden alle Zeilen aus der Tabelle gelöscht. Das Ergebnis ist eine gültige, aber leere Tabelle.

Normalerweise löscht DELETE Zeilen aus der angegebenen Tabelle und ihren Untertabellen. Wenn Sie nur aus der angegebenen Tabelle löschen wollen, dann müssen Sie die Klausel ONLY verwenden.

Um aus einer Tabelle zu löschen müssen Sie das Privileg DELETE für die Tabelle haben, sowie das Privileg SELECT für jede Tabelle, die in der WHERE-Klausel verwendet wird.

Parameter

tabelle

Der Name einer Tabelle (möglicherweise mit Schemaqualifikation).

bedingung

Ein Wertausdruck, der einen Wert vom Typ boolean ergibt und bestimmt, welche Zeilen gelöscht werden sollen.

Meldungen

DELETE zahl

Meldung, wenn Zeilen erfolgreich gelöscht wurden. zahl ist die Anzahl der gelöschten Zeilen. Wenn zahl 0 ist, dann wurden keine Zeilen gelöscht.

Hinweise

TRUNCATE ist eine PostgreSQL-Erweiterung, die schneller alle Zeilen aus einer Tabelle löschen kann.

Beispiele

Lösche alle Filme außer Musicals:

DELETE FROM filme WHERE genre <> 'Musical';

Leere die Tabelle filme:

DELETE FROM filme;

Kompatibilität

Dieser Befehl ist mit dem SQL-Standard konform.