hilfreiche-tools.de  ⇒ SQL Befehle  ⇒ SQL Befehle Delete

SQL Befehle Delete

Tool für SQl Befehle - Löschen einer Datenbank mit unterschiedlichesten Funktionen

Mit DELETE können Werte aus einer Tabelle gelöscht werden. Aufbau :

DELETE FROM
Tabelle
WHERE Bedingung

Wie lösche ich alle Datensätze in einer Tabelle?

Name der Tabelle  

Wie löscht man bestimmte Datensätze in einer Tabelle?

Name der Tabelle  
Feld das geprüft werden soll  
Nach welcher Bedingung soll geprüft werden?  
Auf welchen Wert soll geprüft werden?  

Wie man Datensätze in einer Tabelle wenn in einer zweiten kein Eintrag existiert?

Name der 1. Tabelle  
Name der 2. Tabelle  
Name des abhängigen Feldes aus Tabelle 1  
Name des abhängigen Feldes aus Tabelle 2  

Haben Sie Fragen zu diesem Thema



Häufig gestellte Fragen

Kann ein Delete Befehl rückgängig gemacht werden?

Bei Datenbanksystemen gibt es meist zwei verschiedene Modi, um SQL Befehle abzusetzten.
In der interaktiven Kommunikation ist meist ein sogenanntes "Autocommit" voreingestellt. Dies schließt jeden abgesetzten Befehl an die Datenbank ab. Der Befehl kann dann nicht mehr rückgängig gemacht werden.
Im anderen Modus werden die Befehle als Transaktionen gebündelt durchgeführt. Bis zu dem expliziten Commit Befehl, der die abgesetzten Befehle als endgültig kennzeichnet, kann ein Rollback Befehl gegeben werden, der die bisherigen Befehl dieser Transaktion wieder zurücksetzt. Solche Transaktionen sperren Tabellen oder mindestens die betroffenen Zeilen für andere Benutzer, so dass in einem Mehrbenutzersystem Transaktionen üblicherweise nur im Rahmen von Programmen eingesetzt werden, die dann häufig nachts laufen oder sehr kurz und sehr schnell sind.

 

Was kennzeichnet den SQL Delete Befehl?

Der Delete Befehl ist der Löschbefehl in SQL (Structured Query Language). Er bezieht sich auf eine einzelne Tabelle und löscht Zeilen in dieser Tabelle.
Welche unterschiedlichen Delete Befehle gibt es?
In SQL gibt es genau genommen nur einen einzigen Delete Befehl. Dieser kommt in zwei verschiedenen Ausprägungen vor.
Die einfachste Form ist "Delete from Tabellenname", die bewirkt, dass alle Zeilen in der Tabelle gelöscht werden. Diese Form des Befehls wird meist nur am Anfang der Erstellung einer Datenbank angewandt, wenn Testdaten enthalten sind. Dann möchte man die Definition der Tabelle erhalten, aber die Testdaten wieder löschen.
Später, im Normalbetriebe der Datenbank, wird das Löschen üblicherweise auf ausgewählte Zeilen in der Tabelle beschränkt. Das erfolgt durch die Where Klausel, in der eine oder mehrere Bedingungen angegeben werden. Der Befehl erhält für eine Bedingung die Form "Delete from Tabellenname Where spaltenname Bedingung". Der Spaltenname ist dabei häufig der sogenannte Schlüssel der Tabelle und die Bedingung, daß der Schlüssel gleich einem bestimmten Wert ist. Durch einen Schlüssel wird eine Zeile in der Tabelle eindeutig identifiziert, so daß dann durch den Befehl genau eine Zeile in der Tabelle gelöscht wird. Handelt es sich bei dem Spaltennamen nicht um den Schlüssel, können mehrere Zeilen betroffen sein. Als Beispiel kann man sich eine Tabelle vorstellen, in der die Spalten Kundennummer, Nachname, Vorname, Telefon gespeichert sind. Bei einer solchen Tabelle wird die Kundennummer als Schlüssel eingeführt, damit eine eindeutige Identifikation eines Kunden möglich ist. Wird dann in der Bedingung Bezug genommen auf die Kundennummer, wird nur eine Zeile ausgewählt. Bei allen anderen Spalten ist es ungewiß, ob eine oder mehrere Zeilen betroffen sind.
Die Bedingung muß aber nicht das Gleichsetzen sein. So können in einer Tabelle, die beispielsweise ein Vorgangsdatum enthält, Daten älteren Datums alle gelöscht werden, wenn in der Bedingung definiert wird, daß das Datum kleiner als ein Referenzdatum sein soll.
Es gibt, wie oben gesagt, auch die Möglichkeit, mehrere Bedingungen zu definieren. Diese können dann durch ein "And" oder ein "Or" verbunden werden. Nimmt man das oben angegebene Tabellenbeispiel, könnte man, wenn die Kundennummer unbekannt ist, versuchen, den Kunden durch die Angabe von Nach- und Vornamen einzuschränken. Dann würde die Bedingung lauten Where Nachname = "Schulze" And Vorname = "Hans". Bei solchen Bedingungen ist es ratsam, sich die ausgewählten Zeilen erst durch einen Select Befehl anzusehen. Nur so kann vermieden werden, dass bei zufällig gleicher Kombination von Nach- und Vorname der falsche Kunde gelöscht wird.

 



Die Frage wurde eingereicht.

Möchtest du über die Antwort informiert werden gib deine Emailadresse an.

Wir nutzen Google Produkte die Cookies setzen, mit der Nutzung der Seite stimmen Sie zu. mehr Infos