Różnica między obcięciem a usunięciem

Tworzenie i manipulowanie danymi stanowią podstawę baz danych i nazywamy je odpowiednio DDL i DML. DDL jest skrótem dla języka definicji danych. Może tworzyć lub modyfikować struktury danych w bazach danych i nie można ich używać do zmiany danych obecnych w tabelach. Na przykład mamy polecenia, które po prostu tworzą tabelę z określonymi atrybutami tabeli, ale nigdy nie dodaje żadnych wierszy do tabeli. Ale DML, język zarządzania danymi, może dodawać, usuwać lub modyfikować dane w tabelach. Zasadniczo polecenia DDL dotyczą struktur tabel, natomiast polecenia DML dotyczą rzeczywistych danych. Niech tak będzie, dlaczego odbiegamy od tematu „Różnica między obcięciem a usunięciem”? Istnieją powody, dla których mówiliśmy o DML i DDL. Zrozumiałbyś to w nadchodzącej dyskusji.

Co to jest polecenie obcięcia?

Celem polecenia Obetnij jest usunięcie całej tabeli. Kiedy więc użyjesz polecenia Obcinaj, stracisz wszystkie dane w tabeli i powinieneś być ostrożny z ich użyciem. Daj nam znać, jak z niego korzystać.

Składnia Truncate:

TABELA ŚCIEŻKI Nazwa tabeli;

W tym miejscu należy podać nazwę tabeli, którą należy usunąć w całości. Zapewnia to, że w pamięci będzie znajdował się jakikolwiek stół. Oto przykład użycia obcięcia.

Poniżej znajduje się tabela „pracownik” i wystarczy spojrzeć na zawarte w niej rzędy danych.

emp-id nazwa-emp Przeznaczenie
1011 Jacek Urzędnik
1012 Różany Administrator
1014 Nancy Finanse

Teraz wydajmy poniższe polecenie w tabeli pracowników.

TABELA ŚCIEŻKI pracownik;

Oto wypadkowa powyższej składni i nie ma w niej danych.

emp-id nazwa-emp Przeznaczenie

Co to jest polecenie Usuń?

Celem polecenia Usuń jest usunięcie określonych wierszy z tabeli. Tutaj zastosowano klauzulę „Where”, aby określić wiersze, które należy usunąć. Gdy nie określimy wierszy, polecenie usunie wszystkie wiersze w tabeli. Spójrz tylko na jego składnię.

USUŃ Z pracownik;

Powyższa składnia usuwa wszystkie wiersze z tabeli „pracownik”. Tak więc wynikowa tabela nie zawierałaby danych.

USUŃ Z pracownik GDZIE emp-id = 1011;

Ta instrukcja usuwa tylko jeden wiersz, którego emp-id to 1011. Tak więc tabela wynikowa byłaby jak poniżej.

emp-id nazwa-emp Przeznaczenie
1012 Różany Administrator
1014 Nancy Finanse

Różnice:

  • Obcięty jest DDL; Usuń to DML: Powyżej omówiliśmy działanie DDL i DML w powyższej dyskusji. Polecenie obcięcia jest DDL i działa na poziomie struktury danych. Ale Delete jest poleceniem DML i działa na danych tabeli. Inne przykłady DDL to CREATE i ALTER. W podobny sposób możemy powiedzieć, że polecenia takie jak SELECT, UPDATE i INSERT są idealnymi przykładami dla DML.
  • Jak działa obcinanie i usuwanie: Gdy tylko wydamy polecenie Obetnij, po prostu szuka określonej tabeli. Następnie całkowicie usuwa wszystkie dane z pamięci. Ale procedura robocza różni się nieco w przypadku usuwania. Tutaj oryginalne dane tabeli są kopiowane do przestrzeni zwanej przestrzenią „Cofnij” przed faktyczną manipulacją danymi. Następnie dokonywane są zmiany w rzeczywistym obszarze danych tabeli. Oba różnią się więc sposobem działania.

Ścięty -> usuń całe dane z tabeli -> Obszar tabel jest teraz zwolniony.

Usunąć -> Skopiuj oryginalne dane tabeli do miejsca wycofania -> usuń określone dane / całą tabelę -> Obszar tabel jest zwolniony, ale miejsce wycofania jest wypełnione.

  • Cofnij: Wycofanie jest jak polecenie Cofnij w naszych akcesoriach Microsoft. Służy do anulowania ostatnio wprowadzonych zmian, tj. Od ostatniego zapisanego punktu. Aby wykonać operację, dane należy skopiować do miejsca wycofania przed ich edycją. Chociaż te wycofania wymagają dodatkowej pamięci, są bardzo przydatne, aby wrócić do oryginału. Zwłaszcza, gdy przez pomyłkę edytujesz! Przejdźmy teraz do Obcięcia i Usuń w odniesieniu do Przywróć teraz. Jak omówiliśmy powyżej, Truncate nigdy nie korzysta z miejsca cofania i nie mogliśmy wrócić do oryginalnych danych. Ale polecenie Usuń używa cofnięcia spacji i możemy po prostu użyć polecenia „Zatwierdź” lub „Przywróć”, aby odpowiednio zaakceptować lub anulować zmiany.
  • Wyzwalacze: Dla tych, którzy potrzebują wyjaśnienia na temat wyzwalaczy, oto mała uwaga. Wyzwalacze to z góry określony zestaw operacji / operacji, które należy aktywować, gdy tabela napotka określony warunek. Na przykład możemy uruchomić zmianę wysokości wynagrodzenia, jeśli doświadczenie pracownika w firmie wynosi ponad rok. Te wyzwalacze mogą również działać na innych stołach. Na przykład moglibyśmy zaktualizować tabelę finansów, gdy tylko pracownikowi podniosą się pensje.

Obcinanie jest poleceniem DDL, wyzwalacz nie jest tutaj dozwolony. Ale Delete to polecenie DML, dozwolone są tutaj wyzwalacze.

  • Który jest szybszy? Jak się domyślasz, polecenie Obetnij byłoby szybsze niż polecenie Usuń. Ten pierwszy może usunąć wszystkie dane i nie ma potrzeby sprawdzania, czy są jakieś pasujące warunki. Ponadto oryginalne dane nie są kopiowane do miejsca wycofania, co oszczędza dużo czasu. Te dwa czynniki sprawiają, że Obcinanie działa szybciej niż Usuwanie.
  • Czy moglibyśmy użyć klauzuli WHERE? Klauzula „Where” jest używana do określenia pewnych warunków dopasowania i nie ma nic wspólnego z Truncate. Ponieważ Truncate nigdy nie szuka pasujących warunków i po prostu usuwa wszystkie wiersze, nie mogliśmy tutaj zastosować klauzuli „Where”. Ale zawsze możemy określić warunek za pomocą klauzuli „where” w poleceniu Delete.
  • Który zajmuje więcej miejsca? Obcięcie nie będzie używać miejsca wycofywania i oszczędza tę pamięć. Ale usuwanie wymaga kopii zapasowej w postaci miejsca wycofania, a zatem wymaga więcej miejsca w pamięci niż obcięcie.

To są różnice i spójrzmy na nie w formie tabelarycznej.

S.Nie Różnice w Ścięty Usunąć
1. DDL lub DML? Jest to DDL i działa na poziomie struktury danych. Inne przykłady DDL to CREATE i ALTER. Jest to polecenie DML i działa na danych tabeli. DML to skrót od Data Manipulation Language. Polecenia takie jak SELECT, UPDATE i INSERT są idealnymi przykładami dla DML. DML to skrót od Data Manipulation Language.

2). Jak to działa? Gdy tylko wydamy polecenie Obetnij, po prostu szuka określonej tabeli. Następnie całkowicie usuwa wszystkie dane z pamięci. Tutaj oryginalne dane tabeli są kopiowane do przestrzeni zwanej przestrzenią „Cofnij” przed faktyczną manipulacją danymi. Następnie dokonywane są zmiany w rzeczywistym obszarze danych tabeli.
3). RollBack Polecenie Obcięcie nigdy nie używa wycofanego miejsca i nie mogliśmy wrócić do oryginalnych danych. Miejsce wycofania jest wyłączne i jest zajęte podczas wydawania poleceń DML. Polecenie Usuń używa wycofania spacji i możemy po prostu użyć „Zatwierdź” lub „Przywróć”, aby odpowiednio zaakceptować lub anulować zmiany.

4. Wyzwalacze Obcinanie jest poleceniem DDL, wyzwalacze nie są dozwolone. Usuń to polecenie DML, dozwolone są tutaj wyzwalacze.

5. Który jest szybszy? Może usunąć wszystkie dane i nie ma potrzeby sprawdzania, czy są pasujące warunki. Ponadto oryginalne dane nie są kopiowane do miejsca wycofania, co oszczędza dużo czasu. Te dwa czynniki sprawiają, że Obcinanie działa szybciej niż Usuwanie.

Wykorzystuje miejsce wycofania i zawsze muszą być na nim zachowane oryginalne dane. Jest to dodatkowe obciążenie i z kolei zajmuje dużo czasu niż Obcięcie.
6. Czy moglibyśmy użyć klauzuli WHERE? Ponieważ Truncate nigdy nie szuka pasujących warunków i po prostu usuwa wszystkie wiersze, nie możemy tutaj użyć klauzuli „Where”. Ale zawsze możemy określić warunek za pomocą klauzuli „where” w poleceniu Delete.
7. Który zajmuje więcej miejsca? Obcięcie nie będzie używać miejsca wycofywania i oszczędza tę pamięć. Potrzebuje kopii zapasowej w postaci przestrzeni Cofania, a zatem wymaga więcej miejsca w pamięci niż obcięta.

Znajomość różnic między dowolnymi dwoma bytami poszerza wiedzę na temat obu! Trafiłeś na właściwą ścieżkę, tj. Stronę internetową, aby zrozumieć różnice, zwłaszcza między poleceniami obcięcia i usunięcia. Mam nadzieję, że znasz już różnice i daj nam znać, czy pomogliśmy Ci to zrozumieć. Możesz także pomóc nam wskazać, co zostało!