MySQL
Wyszukiwarka
Wprowadzenie do MySQL
Tworzenie i modyfikowanie tabel
- Zapytanie CREATE: Tworzenie tabeli
- Instrukcja ALTER: Modyfikacja tabeli
- Zapytanie DROP: Usuwanie tabeli
Zapytania pobierające dane
- Zapytanie SELECT: Podstawy
- Zapytanie SELECT: Klauzula WHERE
- Zapytanie SELECT: Sortowanie danych (ORDER BY)
- Zapytanie SELECT: Filtrowanie danych (LIKE, IN, BETWEEN)
Zapytania modyfikujące dane
- Zapytanie INSERT: Dodawanie danych
- Zapytanie UPDATE: Aktualizacja danych
- Zapytanie REPLACE: Zastępowanie danych
Zapytania usuwające dane
Złączenia i relacje
- Podstawy złączeń (JOIN): INNER JOIN
- Zewnętrzne złączenia (OUTER JOIN)
- Złączenia CROSS JOIN i SELF JOIN
- Tworzenie relacji między tabelami
Funkcje agregujące i grupowanie
- Funkcje agregujące: COUNT, SUM, AVG
- Grupowanie danych: GROUP BY i HAVING
- Zapytania z funkcjami MAX i MIN
Zarządzanie użytkownikami
- Tworzenie nowego użytkownika
- Przydzielanie uprawnień użytkownikom
- Usuwanie użytkowników i cofanie uprawnień
- Zarządzanie hasłami użytkowników
Zaawansowane funkcje MySQL
- Transakcje w MySQL: BEGIN, COMMIT, ROLLBACK
- Tworzenie widoków (VIEWS)
- Procedury składowane: Tworzenie i wywoływanie
- Funkcje użytkownika (USER FUNCTIONS)
Zapytanie TRUNCATE: Opróżnianie tabeli
Zapytanie TRUNCATE w MySQL służy do opróżniania tabeli, czyli usuwania wszystkich rekordów z tabeli, ale bez usuwania jej struktury. W przeciwieństwie do zapytania DELETE, operacja TRUNCATE działa szybciej i nie generuje pojedynczych usunięć rekordów – zamiast tego resetuje całą tabelę.
Najważniejsza różnica pomiędzy DELETE a TRUNCATE polega na tym, że TRUNCATE usuwa wszystkie rekordy w sposób natychmiastowy i często resetuje licznik AUTO_INCREMENT.
📌 Podstawowa składnia zapytania TRUNCATE
✅ Podstawowa składnia:
- TRUNCATE TABLE – polecenie do opróżnienia tabeli.
- nazwa_tabeli – wskazuje tabelę, którą chcemy opróżnić.
📌 Opis:
- Wszystkie rekordy zostaną usunięte, ale struktura tabeli pozostanie.
- Zostanie również zresetowany licznik AUTO_INCREMENT.
Przykład
-- Podstawowa składnia TRUNCATE TABLE nazwa_tabeli;
📌 Różnice między TRUNCATE a DELETE
✅ Przykład: Porównanie DELETE i TRUNCATE
Kluczowe różnice
- TRUNCATE działa szybciej, ponieważ nie usuwa rekordów pojedynczo, tylko resetuje tabelę.
- DELETE pozwala na usunięcie tylko wybranych rekordów (np. tych spełniających warunek `WHERE`).
- TRUNCATE resetuje licznik `AUTO_INCREMENT`, podczas gdy `DELETE` tego nie robi.
- Zapytanie TRUNCATE nie może być cofnięte, jeśli nie używamy transakcji.
Przykład
DELETE FROM uzytkownicy; -- Usuwa wszystkie rekordy, ale nie resetuje AUTO_INCREMENT
TRUNCATE TABLE uzytkownicy; -- Usuwa wszystkie rekordy i resetuje AUTO_INCREMENT
📌 Kiedy używać TRUNCATE zamiast DELETE?
✅ Zalecenia dotyczące stosowania TRUNCATE
- Jeśli chcesz usunąć wszystkie rekordy z tabeli i nie potrzebujesz zachować ich historii.
- Jeśli zależy Ci na szybkim opróżnieniu tabeli w celu ponownego załadowania danych.
- Jeśli chcesz zresetować licznik AUTO_INCREMENT.
📌 Ciekawostka
- Jeśli przechowujemy dane tymczasowe, możemy okresowo opróżniać tabelę, aby usunąć niepotrzebne wpisy i rozpocząć od nowa.
Przykład
TRUNCATE TABLE zamowienia;
Podsumowanie
- Zapytanie TRUNCATE usuwa wszystkie rekordy z tabeli i resetuje licznik `AUTO_INCREMENT`.
- Jest szybsze niż DELETE, ponieważ działa bez usuwania pojedynczych wierszy.
- Nie można używać `WHERE` w zapytaniu `TRUNCATE` – usuwa ono całą zawartość tabeli.
- Jeśli potrzebujesz usunąć wybrane rekordy, użyj zapytania DELETE zamiast `TRUNCATE`.
- Przed użyciem `TRUNCATE` warto sprawdzić, czy nie są potrzebne kopie zapasowe danych.