Skróć i usuń

Anonim

Tworzenie danych i manipulacja są podstawą baz danych i nazywamy je odpowiednio DDL i DML. DDL jest skrótem od języka definicji danych. Może tworzyć lub modyfikować struktury danych w bazach danych i nie można ich użyć do zmiany danych znajdujących się w tabelach. Na przykład mamy komendy, które właśnie tworzą tabelę z określonymi atrybutami tabeli, ale nigdy nie dodaje ona żadnych wierszy do tabeli. Ale DML, język manipulacji danymi, może dodawać, usuwać lub modyfikować dane w tabelach. Zasadniczo polecenia DDL dotyczą struktur tabel, natomiast polecenia DML dotyczą rzeczywistych danych. Niech to będzie, dlaczego właśnie odbiegamy od tematu "Różnica między skróceniem a usunięciem"? Istnieją powody, dla których mówiliśmy o DML i DDL. Rozumiesz to w nadchodzącej dyskusji.

Co to jest polecenie Truncate?

Celem polecenia Truncate jest usunięcie całej tabeli. Więc kiedy używasz polecenia Truncate, tracisz wszystkie dane na stole i powinieneś być ostrożny w jego używaniu. Daj nam znać, jak z niego korzystać.

Składnia Truncate:

TRUNCATE TABLE Nazwa tabeli;

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

Poniżej znajduje się tabela "pracownik" i po prostu spójrz na znajdujące się w nim wiersze danych.

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

Teraz wydajmy polecenie poniżej na tabeli pracowników.

TRUNCATE TABLE pracownik;

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

emp-id emp-name Przeznaczenie

Co to jest polecenie usuwania?

Celem polecenia Usuń jest usunięcie określonych wierszy z tabeli. Tutaj używa się tutaj klauzuli "Where", aby określić wiersze, które należy usunąć. Gdy nie określimy wierszy, polecenie usunie wszystkie wiersze w tabeli. Wystarczy spojrzeć 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 żadnych danych.

USUŃ Z pracownik GDZIE emp-id = 1011;

Ta instrukcja usuwa tylko jeden wiersz, którego emp-id to 1011. Tak więc wynikowa tabela będzie wyglądać jak poniżej.

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

Różnice:

  • Truncate to DDL; Usuń to DML: Omówiliśmy powyżej, w jaki sposób DDL i DML działają w naszej powyższej dyskusji. Polecenie Truncate jest DDL i działa na poziomie struktury danych. Ale Delete to polecenie 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ą doskonałymi przykładami dla DML.
  • Jak działa skracanie i usuwanie: Natychmiast po wydaniu polecenia Truncate po prostu wyszukujemy podaną tabelę. Następnie całkowicie usuwa wszystkie dane z pamięci. Ale procedura robocza jest trochę inna w przypadku Delete. W tym miejscu oryginalne dane tabeli są kopiowane do przestrzeni zwanej przestrzenią "Roll back" przed wykonaniem rzeczywistej manipulacji danymi. Następnie zmiany są wykonywane na rzeczywistej przestrzeni danych tabeli. Oboje różnią się sposobem pracy.

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

Kasować -> Skopiuj dane pierwotnej tabeli do obszaru wycofania -> usuń określone dane / całą tabelę -> Obszar tabel zostanie zwolniony, ale wypełniona zostanie przestrzeń wycofania.

  • Przywróć: Przywracanie jest jak polecenie Cofnij w naszych akcesoriach Microsoftu. Jest używany do anulowania zmian, które ostatnio wykonaliśmy, tj. Od ostatniego zapisanego punktu. Aby wykonać operację, dane powinny zostać skopiowane do przestrzeni Roll Back przed edycją. Chociaż te wycofania wymagają dodatkowej pamięci, są bardzo przydatne, aby powrócić do oryginału. Zwłaszcza, gdy przez pomyłkę edytujesz! Przejdźmy teraz do skracania i usuwania w odniesieniu do wycofania teraz. Jak omówiliśmy powyżej, funkcja obcięcia nigdy nie korzysta z przestrzeni wycofania i nie możemy wrócić do oryginalnych danych. Ale polecenie Usuń wykorzystuje przestrzeń powrotną i możemy po prostu użyć opcji "Zatwierdź" lub "Zwróć", aby odpowiednio zaakceptować lub anulować zmiany.
  • Wyzwalacze: Dla tych, którzy potrzebują wyjaśnienia na temat wyzwalaczy, oto mała uwaga. Wyzwalacze to wstępnie określony zestaw operacji / operacji, które należy aktywować, gdy tabela napotka konkretny warunek. Na przykład możemy spowodować zmianę wysokości wynagrodzenia, gdy doświadczenie pracownika z firmą przekracza rok. Te wyzwalacze mogą również działać na innych stołach. Na przykład możemy zaktualizować tabelę finansów, gdy tylko podwyżka wynagrodzenia zostanie wykonana dla pracownika.

Truncate jest poleceniem DDL, wyzwalacz nie jest tu dozwolony. Ale polecenie Delete jest poleceniem DML. Triggers są tutaj dozwolone.

  • Który jest szybszy? Jak można się domyślić, polecenie Skróć byłoby szybsze niż polecenie Usuń. Ten pierwszy może usunąć wszystkie dane i nie ma potrzeby sprawdzania żadnych pasujących warunków.Ponadto oryginalne dane nie są kopiowane do przestrzeni wycofania, a to oszczędza dużo czasu. Te dwa czynniki sprawiają, że skracanie pracy działa szybciej niż usuwanie.
  • Czy możemy użyć klauzuli WHERE? Klauzula "Where" służy do określania pewnych warunków dopasowania i nie ma nic wspólnego z Truncate. Ponieważ program Truncate nigdy nie szuka żadnych pasujących warunków i po prostu usuwa wszystkie wiersze, nie można użyć tutaj klauzuli "Gdzie". Ale zawsze możemy określić warunek za pomocą klauzuli "where" w poleceniu Delete.
  • Który zajmuje więcej miejsca? Skrócone nie będzie korzystać z przestrzeni wycofania i zapisuje tę pamięć. Ale usuwanie wymaga kopii zapasowej w postaci przestrzeni wycofania, a więc wymaga więcej miejsca w pamięci niż obcięcie.

A więc to są różnice i spójrzmy na to w formie tabelarycznej.

S. Nie Różnice w Ścięty Kasować
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 oznacza język manipulacji danymi. Polecenia takie jak SELECT, UPDATE i INSERT są doskonałymi przykładami dla DML. DML oznacza język manipulacji danymi.

2. Jak to działa? Natychmiast po wydaniu polecenia Truncate po prostu wyszukujemy podaną tabelę. Następnie całkowicie usuwa wszystkie dane z pamięci. W tym miejscu oryginalne dane tabeli są kopiowane do przestrzeni zwanej przestrzenią "Roll back" przed wykonaniem rzeczywistej manipulacji danymi. Następnie zmiany są wykonywane na rzeczywistej przestrzeni danych tabeli.
3. Rollback Polecenie Truncate nigdy nie korzysta z przestrzeni wycofania i nie mogliśmy wrócić do oryginalnych danych. Przestrzeń wycofania jest wyjątkowa i jest zajęta po wydaniu komend DML. Polecenie Usuń wykorzystuje przestrzeń wycofania i możemy po prostu użyć polecenia "Zatwierdź" lub "Zwróć", aby odpowiednio zaakceptować lub anulować zmiany.

4. Wyzwalacze Truncate jest poleceniem DDL, wyzwalacze są niedozwolone. Delete to polecenie DML, tutaj są dozwolone wyzwalacze.

5. Który jest szybszy? Może usunąć wszystkie dane i nie ma potrzeby sprawdzania żadnych pasujących warunków. Ponadto oryginalne dane nie są kopiowane do przestrzeni wycofania, a to oszczędza dużo czasu. Te dwa czynniki sprawiają, że skracanie pracy działa szybciej niż usuwanie.

Wykorzystuje przestrzeń wycofania i zawsze należy zachować oryginalne dane. Jest to dodatkowe obciążenie, a z kolei zajmuje dużo czasu niż Cięcie.
6. Czy możemy użyć klauzuli WHERE? Ponieważ program Truncate nigdy nie szuka żadnych pasujących warunków i po prostu usuwa wszystkie wiersze, nie można użyć tutaj klauzuli "Gdzie". Ale zawsze możemy określić warunek za pomocą klauzuli "where" w poleceniu Delete.
7. Który zajmuje więcej miejsca? Skrócone nie będzie korzystać z przestrzeni wycofania i zapisuje tę pamięć. Potrzebuje kopii zapasowej w postaci przestrzeni wycofania, a więc wymaga więcej miejsca w pamięci niż obcięte.

Znajomość różnic między dowolnymi dwoma podmiotami poszerza wiedzę na temat obu! Udasz się na właściwą ścieżkę, tj. Stronę internetową, aby zrozumieć różnice, szczególnie między poleceniami skracania i usuwania. Mam nadzieję, że jasno pan zauważyła różnice i poinformuje nas, czy pomogliśmy wam to zrozumieć. Możesz nam również pomóc wskazać, co zostało!