Unterschied zwischen Löschen und Ablegen

Anonim

Lösch- und Abwurf

verwendet. Sowohl Lösch- als auch Löschbefehle gehören zu SQL-Anweisungen (Structured Query Language) Wird verwendet, um Daten aus einer Datenbank zu entfernen. Löschen ist ein DML-Befehl (Datenmanipulationssprache). Es löscht einige oder alle Daten aus einer Tabelle gemäß der Bedingung, die der Benutzer angegeben hat. Die Anweisung delete löscht nur die Datensätze in der Tabelle, die Tabellenstruktur wird jedoch in der Datenbank angezeigt. Der Drop-Befehl ist eine DDL-Anweisung (Datendefinitionssprache) und unterscheidet sich vom Löschbefehl. Es ist keine bedingungsbasierte Anweisung, löscht also ganze Daten aus der Tabelle und entfernt auch die Tabellenstruktur und alle Verweise auf diese Tabelle dauerhaft aus der Datenbank.

Delete-Anweisung

Wie oben erwähnt, entfernt die Anweisung Delete Daten aus einer Tabelle, die auf der angegebenen Bedingung basiert, und die Where-Klausel wird zusammen mit Delete verwendet, um diese erforderliche Bedingung anzugeben. Wenn die Where-Klausel nicht mit Delete angegeben ist, werden alle Tabellendaten aus der Tabelle entfernt. Bei der Operation Löschen bleibt die vorhandene Tabellenstruktur jedoch gleich. Daher muss der Benutzer die Tabellenstruktur nicht definieren, wenn er die Tabelle erneut verwenden möchte. Da Delete ein DML-Befehl ist, wird es nach der Ausführung nicht automatisch ausgeführt. Dies kann also rückgängig gemacht werden, um die vorherige Operation rückgängig zu machen. Andernfalls sollte die Commit-Anweisung aufgerufen werden, um die Änderungen dauerhaft zu machen. Beim Ausführen der Anweisung Delete wird für jede Zeilenlöschung ein Eintrag im Transaktionsprotokoll aufgezeichnet. Dies wirkt sich also auf die Verlangsamung der Operation aus. Der freigegebene Speicherplatz wird nach der Ausführung nicht freigegeben.

Es folgt die Syntax für die Delete-Anweisung.

DELETE FROM

oder

DELETE FROM WHERE

Drop-Anweisung

Die Drop-Anweisung entfernt nicht nur alle Tabellensätze aus der Datenbank ohne jede Bedingung, sondern auch die Tabellenstruktur, Integritätsbedingungen, Indizes und Zugriffsrechte der relevanten Tabelle aus der Datenbank dauerhaft. So sind auch alle Beziehungen für andere Tabellen nicht mehr vorhanden und Informationen über die Tabelle werden aus dem Datenwörterbuch entfernt. Wenn der Benutzer die Tabelle wiederverwenden möchte, muss er die Tabellenstruktur und alle anderen Verweise auf die Tabelle erneut definieren. Drop ist ein DDL-Befehl und nach der Ausführung des Befehls kann er nicht erneut gerollt werden, da der Drop-Befehl eine automatische Festschreibung verwendet. Daher sollte der Benutzer sehr vorsichtig sein, diesen Befehl zu verwenden. Die Drop-Anweisung kann nicht auf Systemtabellen angewendet werden. Sie kann auch nicht für Tabellen verwendet werden, die Fremdschlüsseleinschränkungen aufweisen.

Der Drop-Befehl kann nicht nur für SQL-Tabellen, sondern auch für Datenbanken, Ansichten und Tabellenspalten verwendet werden. Alle in diesen Objekten gespeicherten Daten gehen mit den Objekten für immer verloren.

Es folgt die typische Syntax für den Drop-Befehl.

DROP TABLE

Was ist der Unterschied zwischen Delete und Drop?

1. Mit den Befehlen Löschen und Löschen werden Tabellendaten aus einer Datenbank entfernt.

2. Die Anweisung "Löschen" führt jedoch eine bedingte Löschung aus, während der Befehl "Löschen" die gesamten Datensätze in der Tabelle löscht.

3. Die Anweisung "Löschen" entfernt nur die Zeilen in der Tabelle und behält die Tabellenstruktur bei, wobei der Befehl "Löschen" alle Daten in der Tabelle und der Tabellenstruktur entfernt und alle anderen Referenzen aus der Datenbank entfernt.

4. Löschen ist eine DML-Anweisung, während Drop ein DDL-Befehl ist. So kann der Löschvorgang rückgängig gemacht werden und es wird nicht automatisch festgeschrieben, während der Drop-Vorgang in keiner Weise zurückgesetzt werden kann, da es sich um eine Anweisung handelt, die automatisch ausgeführt wird.

5. Der Drop-Befehl kann nicht für die Tabellen verwendet werden, auf die von Fremdschlüssel-Einschränkungen Bezug genommen wurde, während der Befehl Löschen stattdessen verwendet werden kann.

6. Der Drop-Befehl sollte mit einem guten Verständnis im Vergleich zur Anweisung "Löschen" in SQL-Anwendungen verwendet werden.