Usuwanie rekordów i tabel
Do usuwania rekordów tabeli służy polecenie o następujacej składni:
DELETE [LOW PRIORITY][IGNORE] FROM nazwa_tabeli
[WHERE warunek]
[ORDER BY kolumna_sortowania]
[LIMIT ilosc];
Jeżeli napiszemy DELETE FROM tabela
, to z tabeli
, zostaną uaunięte wszystkie wiersze. Klauzula WHERE
, wskazuje wiersze do usunięcia.
Klauzula LIMIT
określa maksymalną liczbę wierszy, które mogą być usuniete. Klauzula ORDER BY
jest zwykle używana razem z klauzulą LIMIT
. Działanie klauzul LOW_PRIORITY
oraz IGNORE
omawialiśmy wcześniej.
Ćwiczenie 4_3_3_1. Usuwanie rekordu tabeli
Napierw zajrzyj do tabel bazy. Wyobraź sobie sytuację, że jeden z klientów, już od dawna nie złożył zamówienia. Logicznym działaniem w tej sytuacji będzie usunięcie tego klienta z naszej bazy danych. Usunięcie klienta, którego klient_id=6
będzie możliwe po zastosowaniu następującego polecenia:
DELETE FROM klienci
WHERE klient_id=6;

Jak widzimy, usunęliśmy Ferdynanda Kiepskiego
.
Ćwiczenie 4_3_3_2. Usuwanie tabeli
Aby nie niszczyć tabel naszej bazy (które przydadzą nam się jeszcze w dalszym toku nauki), utworzymy tabelę jablko_gruszka_pietruszka
, która nie jest nawet powiązana z danymi naszej bazy ksiegarnia_internetowa
. Zastosuj następujące polecenie SQL:
CREATE TABLE jablko_gruszka_pietruszka
(
klucz INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
nazwa CHAR(150),
kolor CHAR(50),
waga FLOAT(5,2)
);
INSERT INTO jablko_gruszka_pietruszka VALUES
(NULL, 'jabłko', 'czerwone', 0.05),
(NULL, 'gruszka', 'zielona', 0.04),
(NULL, 'pietruszka', 'trudno powiedzieć', 0.01);

Następnym naszym działaniem będzie usunięcie utworzonej przed chwilą tabeli:
DROP TABLE jablko_gruszka_pietruszka;

jablko_gruszka_pietruszka
Jak widzimy tabela jablko_gruszka_pietruszka
, została usunięta.