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.