Unterschied zwischen Abschneiden und Löschen Unterschied zwischen

Anonim

Datenerstellung und Manipulation bilden die Grundlage von Datenbanken und wir nennen es als DDL bzw. DML. Eine DDL ist eine Abkürzung für die Data Definition Language. Es könnte entweder die Datenstrukturen in den Datenbanken erstellen oder ändern und sie könnten nicht dazu verwendet werden, die in den Tabellen vorhandenen Daten zu ändern. Zum Beispiel haben wir Befehle, die nur eine Tabelle mit den angegebenen Tabellenattributen erstellen, aber niemals Zeilen in die Tabelle einfügen. Aber eine DML, die Datenmanipulationssprache, kann Daten in den Tabellen hinzufügen, löschen oder ändern. In der Regel behandeln die DDL-Befehle die Tabellenstrukturen, während die DML-Befehle die eigentlichen Daten behandeln. Sei es, warum weichen wir nur vom Thema "Unterschied zwischen Abschneiden und Löschen" ab? Es gibt Gründe, warum wir über die DML und die DDL gesprochen haben. Sie würden es in der bevorstehenden Diskussion verstehen.

Was ist ein Befehl zum Abschneiden?

Der Zweck eines Befehls "Abschneiden" besteht darin, die gesamte Tabelle zu löschen. Wenn Sie also einen Befehl zum Abschneiden verwenden, verlieren Sie alle Daten in der Tabelle und sollten vorsichtig sein. Lassen Sie uns wissen, wie man es benutzt.

Die Syntax von Abschneiden:

TRUNCATE TABLE Tabellenname ;

Hier sollten Sie den Namen der Tabelle angeben, die insgesamt gelöscht werden soll. Dadurch wird sichergestellt, dass im Speicherbereich eine Tabelle vorhanden ist. Hier ist ein Beispiel für die Verwendung von Truncate.

Unten ist die 'employee' Tabelle und man sieht sich nur die Datenzeilen darin an.

emp-id emp-name Bezeichnung
1011 Jack Sachbearbeiter
1012 Rosy Admin
1014 Nancy > Finanzen
Lassen Sie uns nun den folgenden Befehl in der Mitarbeiter-Tabelle ausgeben.

TRUNCATE TABLE

Mitarbeiter; Hier ist die Resultierende der obigen Syntax und es sind keine Daten darin enthalten.

emp-id

emp-name Bezeichnung Was ist ein Löschbefehl?

Der Zweck eines Löschbefehls besteht darin, die angegebenen Zeilen aus der Tabelle zu entfernen. 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. Schau dir einfach die Syntax an.

LÖSCHEN VON

Mitarbeiter; Die obige Syntax löscht alle Zeilen aus der Tabelle 'employee'. Die resultierende Tabelle würde also keine Daten enthalten.

DELETE FROM

Mitarbeiter WHERE 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
Rosy Admin 1014
Nancy Finanzen Unterschiede:

Abschneiden ist eine DDL; Löschen ist eine DML:

  • Wir haben oben diskutiert, wie die DDL und die DML in unserer obigen Diskussion funktionieren.Der Befehl Truncate ist eine DDL und arbeitet auf Datenstrukturebene. Aber Delete ist ein DML-Befehl und arbeitet mit den Tabellendaten. Andere Beispiele für DDL sind CREATE und ALTER. In ähnlicher Weise könnten wir sagen, dass die Befehle wie SELECT, UPDATE und REPLACE perfekte Beispiele für eine DML sind. Wie funktioniert das Abschneiden und Löschen:
  • Sobald wir den Befehl Abschneiden ausführen, sucht er nur nach der angegebenen Tabelle. Dann entfernt es vollständig alle Daten aus dem Speicher. Aber der Arbeitsvorgang unterscheidet sich im Falle eines Löschens kaum. Hier werden die ursprünglichen Tabellendaten in den Raum kopiert, der als "Rollback" -Raum bezeichnet wird, bevor die eigentliche Datenbearbeitung durchgeführt wird. Dann werden die Änderungen am tatsächlichen Tabellendatenraum vorgenommen. Also, beide unterscheiden sich in ihrer Arbeitsweise. Truncate

-> ganze Daten aus der Tabelle entfernen -> Tabellenbereich wird jetzt freigegeben. Löschen

-> Kopieren Sie die ursprünglichen Tabellendaten in den Roll-Back-Bereich -> löschen Sie die angegebenen Daten / gesamte Tabelle -> Der Tabellenbereich wird freigegeben, aber der Roll-Back-Bereich ist gefüllt. Rollback:

  • Ein Rollback ist wie ein Rückgängig-Befehl in unserem Microsoft-Zubehör. Es wird verwendet, um die Änderungen, die wir kürzlich vorgenommen haben, abzubrechen. e. vom letzten gespeicherten Punkt. Um den Vorgang auszuführen, sollten die Daten vor der Bearbeitung in den Roll-Back-Bereich kopiert werden. Obwohl diese Rollbacks den zusätzlichen Speicher benötigen, sind sie äußerst nützlich, um zum Original zurückzukehren. Vor allem, wenn Sie versehentlich etwas bearbeiten! Kommen wir zum Abschneiden und Löschen in Bezug auf das Zurückrollen jetzt. Wie oben besprochen, verwendet der Truncate niemals einen Roll-Back-Space und wir konnten nicht zu den ursprünglichen Daten zurückkehren. Der Delete-Befehl verwendet Rollback Space und wir könnten entweder 'Commit' oder 'RollBack' verwenden, um die Änderungen zu akzeptieren oder abzubrechen. Trigger:
  • Für diejenigen, die eine Erklärung über Trigger benötigen, hier ein kleiner Hinweis. Trigger sind eine vordefinierte Gruppe von Operationen / Operationen, die aktiviert werden sollen, wenn die Tabelle eine bestimmte Bedingung erfüllt. Zum Beispiel könnten wir eine Änderung des Gehaltsbetrags auslösen, wenn die Erfahrung eines Mitarbeiters mit dem Unternehmen mehr als ein Jahr beträgt. Diese Trigger könnten auch auf anderen Tabellen funktionieren. Zum Beispiel könnten wir die Finanztabelle aktualisieren, sobald eine Gehaltserhöhung für einen Angestellten erfolgt ist. Truncate ist ein DDL-Befehl, der Trigger ist hier nicht erlaubt. Aber ein Delete ist ein DML-Befehl, Trigger sind hier erlaubt.

Was ist schneller?

  • Wie Sie sich denken, wäre der Befehl "Abschneiden" schneller als der Befehl "Löschen". Ersteres könnte alle Daten entfernen, und es muss nicht nach übereinstimmenden Bedingungen gesucht werden. Außerdem werden die Originaldaten nicht in den Rollback-Bereich kopiert und das spart viel Zeit. Diese beiden Faktoren bewirken, dass Truncate schneller als Delete arbeitet. Können wir die WHERE-Klausel verwenden?
  • Die Klausel 'Where' wird verwendet, um bestimmte Übereinstimmungsbedingungen anzugeben, und ist nicht mit der Abschneidefunktion verknüpft. Da Truncate niemals nach übereinstimmenden Bedingungen sucht und nur alle Zeilen entfernt, können wir hier keine 'Where'-Klausel verwenden.Aber wir könnten die Bedingung immer mit Hilfe der where-Klausel im Delete-Befehl angeben. Was belegt mehr Platz?
  • Das Abschneiden verwendet den Rollback-Speicherplatz nicht und speichert diesen Speicher. Aber delete benötigt ein Backup in Form von Rollback Space und benötigt daher mehr Speicherplatz als das truncate. Das sind die Unterschiede und lassen Sie uns in tabellarischer Form schauen.

S. Nein

Unterschiede in Abschneiden Löschen 1.
DDL oder DML? Es ist eine DDL und es arbeitet auf der Datenstrukturebene. Andere Beispiele für DDL sind CREATE und ALTER. Es ist ein DML-Befehl und er arbeitet mit den Tabellendaten. Die DML steht für Data Manipulation Language. Die Befehle wie SELECT, UPDATE und REPLACE 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 nur nach der angegebenen Tabelle. Dann entfernt es vollständig alle Daten aus dem Speicher. Hier werden die ursprünglichen Tabellendaten in den Raum kopiert, der als "Rollback" bezeichnet wird, bevor die eigentliche Datenbearbeitung durchgeführt wird. Dann werden die Änderungen am tatsächlichen Tabellendatenraum vorgenommen. 3.
RollBack Der Befehl Truncate verwendet niemals einen Rollback-Space und wir konnten nicht zu den ursprünglichen Daten zurückkehren. Ein Rollback-Space ist ein exklusiver und wird belegt, wenn die DML-Befehle ausgegeben werden. Der Befehl Löschen verwendet Rollback Space und wir könnten entweder 'Commit' oder 'RollBack' verwenden, um die Änderungen zu akzeptieren oder abzubrechen. 4.

Trigger Truncate ist ein DDL-Befehl, Trigger sind nicht erlaubt. Löschen ist ein DML-Befehl, Trigger sind hier erlaubt. 5.

Was ist schneller? Es könnte alle Daten entfernen und es muss nicht nach übereinstimmenden Bedingungen gesucht werden. Außerdem werden die Originaldaten nicht in den Rollback-Bereich kopiert und das spart viel Zeit. Diese beiden Faktoren bewirken, dass Truncate schneller als Delete arbeitet. Es wird der Rollback Space verwendet und immer müssen die Originaldaten beibehalten werden. Dies ist eine zusätzliche Belastung und erfordert wiederum viel Zeit als die Verkürzung.

6.
Können wir die WHERE-Klausel verwenden? Da Trunkate niemals nach übereinstimmenden Bedingungen sucht und nur alle Zeilen entfernt, können wir hier keine 'Where'-Klausel verwenden. Aber wir könnten die Bedingung immer mit Hilfe der where-Klausel im Delete-Befehl angeben. 7.
Was belegt mehr Platz? Das Abschneiden verwendet den Rollback-Speicherplatz nicht und speichert diesen Speicher. Es benötigt eine Sicherung in Form von Rollback Space und benötigt daher mehr Speicherplatz als das Truncate. Die Unterschiede zwischen zwei Entitäten zu kennen, erweitert das Wissen über beides! Du bist auf einem richtigen Weg gelandet. e. die Webseite, um die Unterschiede zu verstehen, insbesondere zwischen den Befehlen truncate und delete. Hoffe, dass du jetzt mit seinen Unterschieden klar bist und lass uns wissen, ob wir dir geholfen haben, es zu verstehen. Sie könnten uns auch helfen, aufzuzeigen, was übrig geblieben ist!