Do czego służy instrukcja SQL - Delete?

09.03.2020

Podczas pracy z bazami danych często trzeba usunąć jeden lub więcej wierszy danych. Aby zaimplementować tę akcję, w SQL jest specjalny operator - Usuń.

Usuń składnię

Jedną z często używanych operacji podczas pracy z bazami danych jest operator, który usuwa pewną liczbę wierszy. . Aby usunąć dodatkowe rekordy z tabeli, wystarczy użyć specjalnej funkcji SQL - D elete .

sql delete

Składnia tej instrukcji jest taka sama jak wstawianie i modyfikowanie rekordów. Po kluczu DELETE następuje konstrukt wskazujący tabelę, w której zostanie wykonane usuwanie - FROM i nazwa tabeli. Następnie przychodzi opcjonalna część struktury składni operatora, która może zawierać wskazania, które jednoznacznie definiują jedną lub więcej linii.

DELETE FROM <nazwa tabeli> [WHERE <predicate>].

Możliwe zdanie zaczyna się od słowa kluczowego "WHERE", po którym następuje zestaw predykatów. Możliwe jest wskazanie zarówno jawnej wartości określonego pola, oznaczającego go jako pojedynczy lub wyliczenie, lub pewien zakres lub warunek. W predykacie można również użyć warunków zagnieżdżonych, aby na przykład usunąć tylko te rekordy, które są zawarte lub brakujące w innej tabeli.

Przykład usunięcia kilku lub wszystkich wpisów

Aby usunąć wpis, musisz użyć opcjonalnej części struktury funkcji Usuń. MS SQL obsługuje tylko jedną specyfikację danych za pomocą słowa kluczowego WHERE. Dlatego parametry wyszukiwania łańcucha wyszukiwania powinny być określone tylko po nim.

Jeśli konieczne jest wyczyszczenie tabeli, nie ma konieczności korzystania z dodatkowej części struktury, wystarczy po prostu podać nazwę tabeli w powyższej składni SQL Delete. Przykład usunięcia wszystkich wpisów wygląda następująco:

USUŃ Z "table_1".

To zapytanie wyczyści tabelę o nazwie "table_1". Warto zauważyć, że w tym przypadku usunięcie samej tabeli nie nastąpi - w tym celu konieczne jest użycie innych środków języka SQL.

sql delete example

Jeśli chcesz usunąć tylko te rekordy, które spełniają określone wymagania, musisz dodać instrukcję warunku. Na przykład w poniższym przykładzie funkcja usuwania SQL usunie wszystkie wiersze z tabeli personelu o wartości Ivan w polu Nazwa:

DELETE FROM "Staff" WHERE "Name" = "Ivan".

Jeśli to konieczne, możesz określić wiele warunków w jednym zapytaniu, łącząc je z logicznymi "AND" i "OR". W poniższym przykładzie wszystkie zapisy, w których nazwisko pracownika "Ivan" lub "Oleg" zostaną usunięte:

USUŃ Z "Personelu" GDZIE "Imię" = "Ivan" LUB "Imię" = "Oleg".

Przykład usunięcia jednego rekordu

Jednak podczas usuwania nie zawsze konieczne jest usuwanie wszystkich wierszy spełniających warunek. Aby usunąć dane tylko z pewnej liczby wierszy, należy dodać słowo kluczowe LIMIT do struktury funkcji SQL Delete, a następnie określić jawną wartość wierszy, które mają zostać usunięte.

usuń ms slq

W poniższym przykładzie tylko dwie rekordy pracowników o nazwie Ivan zostaną usunięte z tabeli Personnel:

USUŃ Z "Personelu" GDZIE "Imię" = "Ivan" LIMIT 2.

Należy zauważyć, że podczas wykonywania operacji usuwania wierszy należy zwrócić uwagę na poprawność pisania zapytań. W przypadku błędu w składni lub warunku może wystąpić nadmierne usuwanie wierszy, co automatycznie będzie prawie niemożliwe do powrotu do tabeli.