Zapytanie DELETE: Usuwanie danych

Zapytanie DELETE w MySQL służy do usuwania danych z tabeli. Może ono usunąć pojedynczy rekord lub wszystkie rekordy w tabeli, w zależności od warunków. Klauzula WHERE jest bardzo ważna, ponieważ bez niej zapytanie usunie wszystkie dane w tabeli.

Zapytanie DELETE jest często używane do zarządzania danymi w bazie, zwłaszcza do usuwania nieaktualnych, błędnych lub niepotrzebnych rekordów.

📌 Podstawowa składnia zapytania DELETE

✅ Elementy składni:

  • DELETE FROM – wskazuje tabelę, z której chcemy usunąć dane.
  • WHERE – określa warunek, który musi być spełniony, aby rekord został usunięty.
Przykład
-- Podstawowa składnia
DELETE FROM nazwa_tabeli
WHERE warunek;

-- Przykład: Usunięcie użytkownika o id = 5
DELETE FROM uzytkownicy
WHERE id = 5;

📌 Usuwanie wszystkich rekordów

✅ Przykład: Usunięcie wszystkich użytkowników

📌 Opis:

  • Jeśli nie użyjemy klauzuli WHERE, zapytanie usunie wszystkie rekordy w tabeli.
  • Należy zachować ostrożność, ponieważ nie będzie można odzyskać danych po ich usunięciu.
Przykład
DELETE FROM uzytkownicy;

📌 Usuwanie danych na podstawie wielu warunków

✅ Przykład: Usunięcie użytkowników, którzy nie logowali się przez dłuższy czas

📌 Opis:

  • Zapytanie usuwa użytkowników, którzy nie logowali się od stycznia 2022 roku i mają status nieaktywny.
  • Możemy używać wielu warunków w klauzuli WHERE, aby precyzyjnie wybrać dane do usunięcia.
Przykład
DELETE FROM uzytkownicy
WHERE ostatnie_logowanie < '2022-01-01' AND status = 'nieaktywny';

Podsumowanie

  • Zapytanie DELETE pozwala na usuwanie danych z tabeli, ale wymaga ostrożności, zwłaszcza bez klauzuli WHERE.
  • Możemy usuwać pojedyncze rekordy, kilka rekordów spełniających określone warunki lub wszystkie rekordy w tabeli.
  • Zapytanie DELETE jest również przydatne w operacjach usuwania danych powiązanych w wielu tabelach za pomocą JOIN.
  • Warto używać transakcji, aby zapewnić bezpieczeństwo operacji usuwania danych, szczególnie w bardziej skomplikowanych zapytaniach.