Datenerstellung und -manipulation bilden die Basis von Datenbanken und wir nennen sie DDL bzw. DML. Eine DDL ist eine Abkürzung für Data Definition Language. Es kann entweder die Datenstrukturen in den Datenbanken erstellen oder ändern und sie können nicht zum Ändern der in den Tabellen vorhandenen Daten verwendet werden. Beispielsweise haben wir Befehle, die lediglich eine Tabelle mit den angegebenen Tabellenattributen erstellen, jedoch niemals Zeilen in die Tabelle einfügen. Eine DML, die Data Manipulation Language, ist jedoch in der Lage, Daten in den Tabellen hinzuzufügen, zu löschen oder zu ändern. In der Regel behandeln die DDL-Befehle die Tabellenstrukturen, während die DML-Befehle die tatsächlichen Daten behandeln. Lass es sein, warum weichen wir gerade vom Thema „Unterschied zwischen Abschneiden und Löschen“ ab? Es gibt Gründe, warum wir über DML und DDL gesprochen haben. Sie würden es in der kommenden Diskussion verstehen.
Mit einem Befehl zum Abschneiden wird die gesamte Tabelle gelöscht. Wenn Sie also einen Befehl zum Abschneiden verwenden, gehen alle Daten in der Tabelle verloren, und Sie sollten vorsichtig damit umgehen. Lass uns wissen, wie man es benutzt.
Die Syntax von Truncate:
TRUNCATE TABLE Tabellenname;
Hier sollten Sie den Namen der Tabelle angeben, die insgesamt gelöscht werden soll. Dadurch wird sichergestellt, dass sich ein Tisch im Speicher befindet. Hier ist ein Beispiel für die Verwendung von Abschneiden.
Unten sehen Sie die Tabelle "Mitarbeiter". Schauen Sie sich nur die Datenzeilen an.
emp-id | emp-name | Bezeichnung |
1011 | Jack | Schreiber |
1012 | Rosig | Administrator |
1014 | Nancy | Finanzen |
Lassen Sie uns nun den folgenden Befehl in der Tabelle Employee ausgeben.
TRUNCATE TABLE Mitarbeiter;
Hier ist das Ergebnis der obigen Syntax und es sind keine Daten darin enthalten.
emp-id | emp-name | Bezeichnung |
Der Befehl Delete dient zum Entfernen der angegebenen Zeilen aus der Tabelle. Hier wird die Where-Klausel verwendet, um die Zeilen anzugeben, die gelöscht werden müssen. Wenn wir die Zeilen nicht angeben, löscht der Befehl alle Zeilen in der Tabelle. Schauen Sie sich einfach die Syntax an.
LÖSCHEN VON Mitarbeiter;
Die obige Syntax löscht alle Zeilen aus der 'Employee'-Tabelle. Die resultierende Tabelle würde also keine Daten enthalten.
LÖSCHEN VON Mitarbeiter WOHER emp-id = 1011;
Diese Anweisung löscht nur eine einzelne Zeile, deren emp-id 1011 ist. Die resultierende Tabelle wäre also wie folgt.
emp-id | emp-name | Bezeichnung |
1012 | Rosig | Administrator |
1014 | Nancy | Finanzen |
Kürzen -> gesamte Daten aus der Tabelle entfernen -> Der Tabellenbereich wird jetzt freigegeben.
Löschen -> Kopieren Sie die ursprünglichen Tabellendaten in den Rollback-Bereich -> Löscht die angegebenen Daten / gesamte Tabelle -> Der Tabellenbereich wird freigegeben, der Rollback-Bereich wird jedoch gefüllt.
Truncate ist ein DDL-Befehl, der Trigger ist hier nicht zulässig. Ein Löschen ist jedoch ein DML-Befehl. Hier sind Trigger zulässig.
Das sind also die Unterschiede und lassen Sie uns tabellarisch betrachten.
S.Nr | Unterschiede in | Kürzen | Löschen |
1. | DDL oder DML? | Es ist eine DDL und arbeitet auf der Datenstrukturebene. Andere Beispiele für DDL sind CREATE und ALTER. | Es ist ein DML-Befehl, der die Tabellendaten verarbeitet. Die DML steht für Data Manipulation Language. Die Befehle wie SELECT, UPDATE und INSERT sind perfekte Beispiele für eine DML. Die DML steht für Data Manipulation Language. |
2. | Wie funktioniert es? | Sobald wir den Befehl Abschneiden ausführen, sucht er einfach nach der angegebenen Tabelle. Dann werden alle Daten vollständig aus dem Speicher entfernt. | Hier werden die ursprünglichen Tabellendaten vor der eigentlichen Datenmanipulation in den als "Rollback" bezeichneten Bereich kopiert. Dann werden die Änderungen am tatsächlichen Tabellendatenraum vorgenommen. |
3. | RollBack | Der Befehl Abschneiden verwendet niemals einen Rollback-Bereich, und wir konnten nicht zu den ursprünglichen Daten zurückkehren. Ein Rollback-Speicherplatz ist ein exklusiver Platz und wird belegt, wenn die DML-Befehle ausgegeben werden. | Der Befehl Löschen verwendet Rollback-Speicherplatz, und wir können entweder entweder 'Commit' oder 'RollBack' verwenden, um die Änderungen zu akzeptieren oder abzubrechen.
|
4. | Löst aus | Truncate ist ein DDL-Befehl, Trigger sind nicht zulässig. | Löschen ist ein DML-Befehl, hier sind Trigger zulässig.
|
5. | Welche ist schneller? | Dadurch könnten alle Daten entfernt werden, und es ist nicht erforderlich, nach übereinstimmenden Bedingungen zu suchen. Außerdem werden die Originaldaten nicht in den Rollback-Bereich kopiert. Dies spart viel Zeit. Diese beiden Faktoren machen das Abschneiden schneller als das Löschen.
| Es verwendet den Rollback-Speicherplatz und es müssen immer die ursprünglichen Daten darauf gespeichert werden. Dies ist eine zusätzliche Belastung und benötigt wiederum viel mehr Zeit als das Abschneiden. |
6. | Könnten wir die WHERE-Klausel verwenden?? | Da Truncate niemals nach übereinstimmenden Bedingungen sucht und nur alle Zeilen entfernt, können wir hier keine 'Where'-Klausel verwenden. | Wir konnten die Bedingung jedoch immer mit Hilfe der 'where'-Klausel im Delete-Befehl angeben. |
7. | Was mehr Platz einnimmt? | Der abgeschnittene Server wird den Rollback-Speicherplatz nicht verwenden und speichert diesen Speicherplatz. | Es benötigt eine Sicherung in Form von Rollback-Speicherplatz und benötigt daher mehr Speicherplatz als der abgeschnittene. |
Das Wissen um die Unterschiede zwischen zwei beliebigen Entitäten erweitert das Wissen auf beiden! Sie sind auf einem richtigen Pfad gelandet, d. H. Auf der Webseite, um die Unterschiede zu verstehen, insbesondere zwischen den Befehlen "Abschneiden" und "Löschen". Ich hoffe, Sie sind jetzt klar mit den Unterschieden und lassen Sie uns wissen, ob wir Ihnen dabei geholfen haben, es zu verstehen. Sie könnten uns auch dabei helfen, uns zu zeigen, was noch übrig ist!