Tworzy zapytanie usuwające, które usuwa rekordy z jednej lub więcej tabel wymienionych w klauzuli FROM spełniających warunki określone w klauzuli WHERE.
Składnia
DELETE [tabela.*]
FROM tabela
Kryteria WHERE
Instrukcja DELETE zawiera następujące segmenty:
Segment |
Opis |
tabela |
Opcjonalna nazwa tabeli, z której są usuwane rekordy. |
tabela |
Nazwa tabeli, z której są usuwane rekordy. |
kryteria |
To jest wyrażenie określające, które rekordy mają zostać usunięte. |
Spostrzeżenia
Instrukcja DELETE jest szczególnie przydatna w sytuacji, gdy trzeba usunąć wiele rekordów.
Aby usunąć całą tabelę z bazy danych, możesz użyć metody Execute z instrukcją DROP. Usunięcie tabeli powoduje jednak utratę struktury. Natomiast w przypadku używania funkcji DELETE usuwane są tylko dane; Struktura tabeli i wszystkie właściwości tabeli, takie jak atrybuty i indeksy pól, pozostają nienaruszone.
Za pomocą instrukcji DELETE można usunąć rekordy z tabel, które łączy relacja jeden-do-wielu z innymi tabelami. Operacje usuwania kaskadowego powodują usuwanie rekordów w tabelach po stronie „wiele” relacji, gdy za pomocą zapytania zostanie usunięty odpowiadający im rekord z tabeli po stronie „jeden”. Na przykład w relacji między tabelami Klienci i Zamówienia tabela Klienci znajduje się po stronie „jeden”, a tabela Zamówienia — po stronie „wiele” relacji. Jeśli jest określona opcja usuwania kaskadowego, usunięcie rekordu z tabeli Klienci spowoduje usunięcie odpowiednich rekordów z tabeli Zamówienia.
Zapytanie usuwające usuwa całe rekordy, a nie tylko dane w konkretnych polach. Jeśli chcesz usunąć wartości w określonym polu, utwórz zapytanie aktualizujące, które zmieni żądane wartości na Null.
Ważne:
-
Po usunięciu rekordów za pomocą zapytania usuwającego nie można cofnąć tej operacji. Jeśli chcesz wiedzieć, które rekordy zostały usunięte, najpierw uruchom zapytanie wybierające, które korzysta z tych samych kryteriów, i sprawdź jego wyniki, a następnie uruchom zapytanie usuwające.
-
Twórz regularnie kopie zapasowe danych. Jeśli usuniesz niewłaściwe rekordy, będzie można je odzyskać z posiadanych kopii zapasowych.