Usuwanie danych z bazy danych w SQL

Kasowanie informacji zdezaktualizowanych w bazie danych wykonujemy za pomocą zapytania DELETE. Instrukcja ta służy do kasowania wybranych wierszy z danej tabeli, jeżeli potrzebujemy na przykład wyczyścić całą tabelę to możemy zastosować instrukcję TRUNCATE TABLE.

Fot: Beraldo Leal, CC BY 2.0.

Fot: Beraldo Leal, CC BY 2.0.

Kasowanie wybranych rekordów

Ogólna składnia zapytania DELETE:

Przykład:

Powyższa kwerenda skasuje z tabeli tab1, wiersze, które będą miały w polu ID wartość (teoretycznie powinien być to jeden rekord).

Tabela klienci na której będziemy uruchamiać przykładowe zapytania:

ID Imie Nazwisko Miasto
1 Jan Kowalski Warszawa
2 Michał Łagoda Kraków
3 Marcin Kulczyk Kraków
4 Radosław Sikorski Kraków
5 Monika Kopacz Gdańsk
6 Piotr Grabiec Toruń
7 Ewa Pogodna Bydgoszcz
8 Sebastian Szybki Warszawa

Efekt zapytania:

Uruchomionego na tabeli klienci:

ID Imie Nazwisko Miasto
2 Michał Łagoda Kraków
3 Marcin Kulczyk Kraków
4 Radosław Sikorski Kraków
5 Monika Kopacz Gdańsk
6 Piotr Grabiec Toruń
7 Ewa Pogodna Bydgoszcz
8 Sebastian Szybki Warszawa

Jak widać zniknął pierwszy wiersz. To samo można zrobić dając inny warunek (nie identyfikujący jednoznacznie rekordu). Skasujmy teraz wszystkich klientów z Krakowa:

Efekt:

ID Imie Nazwisko Miasto
5 Monika Kopacz Gdańsk
6 Piotr Grabiec Toruń
7 Ewa Pogodna Bydgoszcz
8 Sebastian Szybki Warszawa

Usuwanie całej zawartości

Kasowanie rekordu po rekordzie przy milionie pozycji może być nieco męczące. Twórcy SQL pomyśleli również i o tym aspekcie dodając instrukcję TRUNCATE TABLE. Ogólna składnia:

Przykład:

Efekt:

ID Imie Nazwisko Miasto

Tabela klienci jest pusta.

, , , , , , , , ,