Home - SQL Befehle - Datenmanipulation www.sqldocu.com
zurück vor



Daten löschen (DELETE)


Beschreibung
top
Bevor du diesen Abschnitt durchliest, solltest du folgende Kapitel kennen:
Informationen sind im RDBMS Bestandteile von Objekten (Tabellen, Datenbanken..). Damit hat der Benutzer 2 Möglichkeiten Informationen zu löschen:
  • Löschen des Objektes, in dem sich die Informationen befinden (siehe Objekte löschen). Alle Informationen gehen verloren, die sich in dem gelöschten Objekt befinden. Es ist möglich eine ganze Datenbank zu löschen.
  • Informationen innerhalb des Objektes löschen. Dies wird im folgenden erklärt.
In einer Tabelle werden Daten (Informationen) mit der SQL-Anweisung DELETE gelöscht. Ohne die Option WHERE werden alle Zeilen einer Tabelle gelöscht. Mit der Option WHERE ist es möglich bestimmte Zeilen einer Tabelle zu entfernen.
Um Informationen (Datensätze) in eine Tabelle zu löschen, muss man die entsprechenden Rechte besitzen (siehe Datenbank Administration). Meist ist man der Besitzer der Tabelle, womit die nötigen Rechte vorhanden sind.
Der DELETE Befehl wird sofort ausgeführt. Manche RDBMS bieten die Möglichkeit mit SET AUTOCOMMIT OFF Anweisungen temporär zu speichern, und somit später rückgängig zu machen (siehe COMMIT/ROLLBACK).


Syntax
top
DELETE FROM
Urheber.   optional  
TabelleName | ViewName
AliasName   optional  
WHERE Suchbedingung   optional  

| ... trennt Syntaxmöglichkeiten (entweder oder)
[] ... Syntax innerhalb dieser Klammern ist optional
optional ... Syntax in dieser Zeile ist optional
Beispiele:
DELETE FROM meineTabelle
DELETE FROM meineTabelle WHERE Spalte4>100
DELETE FROM Benutzer1.meineTabelle WHERE Spalte4=100 AND Spalte1="Linda"

Beispiel Tabelle:
top
Sie wird in mehreren Beispielen verwendet um SQL besser darstellen zu können.
TabelleName: emailAdressen
Die Tabelle emailAdressen besteht aus 4 Spalten und 5 Reihen
Spalte1 hat den Namen vorname.
Spalte2 hat den Namen nachname
Spalte3 hat den Namen email
Spalte4 hat den Namen gewicht

Spaltenname vorname nachname email gewicht
Reihe 1 Michaela König michi@yahoo.de 71
Reihe 2 Kati Müller kati@hotmail.com 48
Reihe 3 Conny Schmid conny3@hotmail.com 63
Reihe 4 Linda Becker linda@hotmail.de 56
Reihe 5 Kati Auer kati@gmx.de 52



Alle Zeilen einer Tabelle löschen
top
DELETE FROM emailAdressen

Mit diesem SQL Befehl werden in die Tabelle emailAdressen sämtliche Zeilen gelöscht. Der Benutzer benötigt dazu die nötigen Rechte siehe( Datenbank Administration).

Tabelle nach DELETE Anweisung (Tabelle ist leer):
Spaltenname vorname nachname email gewicht

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


Bestimmte Zeilen einer Tabelle löschen
top
DELETE FROM emailAdressen
WHERE vorname="Linda" AND nachname="Becker"

Die Zeile vonLinda Becker wird gelöscht. Da der Name Linda in der Tabelle nur einmal vorkommt, hätte folgende WHERE Bedingung ausgereicht:
WHERE vorname="Linda"


Tabelle nach DELETE Anweisung:
Michaela König michi@yahoo.de 71
Kati Müller kati@hotmail.com 48
Conny Schmid conny3@hotmail.com 63
Kati Auer kati@gmx.de 52

Tabelle emailAdressen anzeigen
PHP Syntax     PERL Syntax


top