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.
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 |
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 |
Ś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.
Obcinanie jest poleceniem DDL, wyzwalacz nie jest tutaj dozwolony. Ale Delete to polecenie DML, dozwolone są tutaj wyzwalacze.
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!