SQL: Usuwanie | DELETE, DROP
Słów kilka o usuwaniu rekordów z tabeli, usuwaniu tabel oraz całej bazy danych. W bazie danych szkoła znajduje się następująca tabela o nazwie pracownicy:
ID | Imie | Nazwisko | Stanowisko |
---|---|---|---|
1 | Witold | Wszechmocny | Dyrektor |
2 | Dominik | Kontrolny | Wicedyrektor |
3 | Izabela | Trudna | Belfer |
4 | Ludwik | Litościwy | Belfer |
5 | Jan | Wybitny | Belfer |
6 | Kornelia | Papierzasta | Sekretarka |
Baza danych: szkola, tabela: Pracownicy
Usuwanie rekordów z tabeli
Na początek usuńmy pracownika o numerze id = 6
DELETE FROM pracownicy WHERE id = 6;
Tabela pracownicy po zmianach:
ID | Imie | Nazwisko | Stanowisko |
---|---|---|---|
1 | Witold | Wszechmocny | Dyrektor |
2 | Dominik | Kontrolny | Wicedyrektor |
3 | Izabela | Trudna | Belfer |
4 | Ludwik | Litościwy | Belfer |
5 | Jan | Wybitny | Belfer |
Usuńmy teraz wszystkich belfrów:
DELETE FROM pracownicy WHERE stanowisko LIKE "Belfer"
Tabela pracownicy po zmianach:
ID | Imie | Nazwisko | Stanowisko |
---|---|---|---|
1 | Witold | Wszechmocny | Dyrektor |
2 | Dominik | Kontrolny | Wicedyrektor |
Opróżnianie tabeli ze wszystkich danych
Opcja 1: za pomocą polecenia DELETE
DELETE FROM pracownicy;
Opcja 2: za pomocą polecenia TRUNCATE
TRUNCATE TABLE pracownicy;
W obu przypadkach nasza tabela pracownicy pozostanie pusta.
Jeśli w tabeli dla pola id ustawione było automatyczne numerowanie, to
w przypadku polecenia DELETE kolejne dodawane do tabeli rekordy otrzymają numery id będące kontynuacją tych usuniętych.
Natomiast
w przypadku polecenia TRUNCATE numerację rozpoczynamy od nowa (od 1).
Usuwanie tabeli
Składnia polecenia:
DROP TABLE nazwa_tabeli;
Przykład wykorzystania:
DROP TABLE pracownicy;
Spowoduje usunięcie z bazy danych tabeli pracownicy wraz ze wszystkimi danymi.
Usuwanie bazy danych
Składnia polecenia:
DROP DATABASE nazwa_bazy;
Przykład wykorzystania:
DROP DATABASE szkola;
Spowoduje usunięcie bazy szkola wraz ze wszystkimi tabelami i danymi.