POWRÓT NA STRONĘ SZKOŁY

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;

Usuwanie rekordu w tabeli klienci
Rysunek 4_3_3_1. Usuwanie rekordu w tabeli klienci

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);
Utworzenie tabeli do usunięcia
Rysunek 4_3_3_2. Utworzenie tabeli do usunięcia

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

DROP TABLE jablko_gruszka_pietruszka;
Tabele bazy po usunięciu tabeli jablko_gruszka_pietruszka
Rysunek 4_3_3_3. Tabele bazy po usunięciu tabeli jablko_gruszka_pietruszka

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