USUWAĆ to polecenie DML (Data Manipulation Language) i jest używane, gdy określamy wiersz (krotkę), który chcemy usunąć lub usunąć z tabeli lub relacji. Polecenie DELETE może zawierać klauzulę WHERE. Jeżeli klauzula WHERE zostanie użyta z poleceniem DELETE, wówczas usuwa lub kasuje tylko te wiersze (krotki), które spełniają warunek; w przeciwnym razie domyślnie usuwa wszystkie krotki (wiersze) z tabeli. Pamiętaj, że DELETE rejestruje usunięcia wierszy.
Składnia:
USUŃ Z nazwy tabeli
GDZIE warunek;
kod c abs
ŚCIĘTY to polecenie DDL (Data Definition Language) służące do usuwania wszystkich wierszy lub krotek z tabeli. W przeciwieństwie do polecenia DELETE, polecenie TRUNCATE nie zawiera a klauzula WHERE . W poleceniu TRUNCATE dziennik transakcji dla każdej usuniętej strony danych nie jest rejestrowany. W przeciwieństwie do polecenia DELETE, polecenie TRUNCATE jest szybkie. Nie możemy przywrócić danych po użyciu polecenia TRUNCATE.
Składnia:
TRUNCATE TABLE Nazwa tabeli;
Rozumiemy to na jednym prostym przykładzie, w którym utworzymy jedną fikcyjną tabelę, a następnie wykonamy operację usuwania.
Zapytanie:
CREATE table Employee ( Emp_id int, name VARCHAR(20), country VARCHAR(20), Salary INT); --insert the data in the Employee Table INSERT INTO Employee (Emp_id, name, country, Salary) values (101, 'Mohit', 'India', 60000), (103, 'Anish', 'England', 70000), (104, 'Shubham', 'France', 100000), (102, 'Danish', 'Sweden', 40000), (105, 'Vivek', 'Wales', 50000), (106, 'Rohan', 'Scotland', 30000); Select * from Employee ;>
Wyjście

Tabela pracowników
Przykład polecenia Usuń:
Musisz teraz utworzyć zapytanie, aby usunąć ostatni wpis o wartości 106 dla Emp_id.
Zapytanie:
Delete from Employee where Emp_id = 106;>
Wyjście

wyjście
Przykład polecenia TRUNCATE
Aby w tym przypadku całkowicie usunąć wszystkie rekordy z graczy stołowych należy użyć komendy truncate.
Zapytanie:
TRUNCATE TABLE Employee;>
Różnice między DELETE i TRUNCATE
| Usuwać | Ścięty |
|---|---|
| Polecenie DELETE służy do usuwania określonych wierszy (jednego lub więcej). | Chociaż to polecenie służy do usuwania wszystkich wierszy z tabeli. |
| To jest DML (język manipulacji danymi) Komenda. | Chociaż jest to DDL (język definicji danych) Komenda. |
| W poleceniu DELETE może znajdować się klauzula WHERE służąca do filtrowania rekordów. | Chociaż w poleceniu TRUNCATE może nie być klauzuli WHERE. |
| W poleceniu DELETE krotka jest blokowana przed jej usunięciem. | Podczas wykonywania tego polecenia strona danych jest blokowana przed usunięciem danych z tabeli. |
| Instrukcja DELETE usuwa wiersze pojedynczo i rejestruje wpis w dzienniku transakcji dla każdego usuniętego wiersza. | TRUNCATE TABLE usuwa dane poprzez cofnięcie alokacji stron danych używanych do przechowywania danych w tabeli i rejestruje tylko cofnięcia alokacji stron w dzienniku transakcji. |
| Polecenie DELETE jest wolniejsze niż polecenie TRUNCATE. | Chociaż polecenie TRUNCATE jest szybsze niż polecenie DELETE. |
| Aby użyć opcji Usuń, potrzebujesz uprawnienia DELETE w tabeli. | Aby użyć Truncate na stole, potrzebujemy przynajmniej ZMIENIAĆ pozwolenie na stole. |
| Tożsamość mniejszej kolumny zachowuje tożsamość po użyciu instrukcji DELETE w tabeli. | Tożsamość kolumna jest resetowana do wartości początkowej, jeśli tabela zawiera kolumnę tożsamości. |
| Usuwanie może być stosowane w widokach indeksowanych. | Nie można używać opcji Truncate w widokach indeksowanych. |
| To polecenie może również aktywować wyzwalacz. | To polecenie nie aktywuje wyzwalacza. |
| Instrukcja DELETE zajmuje więcej przestrzeni transakcyjnej niż Truncate. | Instrukcja Truncate zajmuje mniej przestrzeni transakcyjnej niż DELETE. |
| Operacje usuwania można WYCOFAĆ. | Nie można wycofać TRUNCATE, ponieważ powoduje to niejawne zatwierdzenie. |
| Usuń nie powoduje USUWANIA całej tabeli. Uzyskuje blokadę tabeli i rozpoczyna usuwanie wierszy. | TRUNCATE najpierw upuszcza tabelę, a następnie tworzy ją ponownie, co jest szybsze niż usuwanie pojedynczych wierszy. |
Wniosek
W tym artykule, SQL programiści mogą odpowiednio usunąć wiersze, używając poprawnie poleceń DELETE i TRUNCATE. Polecenie TRUNCATE należy stosować ostrożnie, ponieważ usuwa ono wszystkie rekordy tabeli. Początkujący również skorzystają z wyjaśnienia tego samouczka na temat rozróżnień między poleceniami Usuń i Obetnij.
USUWAĆ:
- Chcesz usunąć ze stołu wszystkich Pracowników, którzy nic nie kupili w ciągu ostatnich sześciu miesięcy.
- Chcesz usunąć pracownika ze stołu.
ŚCIĘTY:
- Chcesz przywrócić zawartość tabeli do pierwotnego stanu.
- Nie musisz mieć możliwości przywrócenia danych; po prostu chcesz go całkowicie usunąć ze stołu.