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 REPLACE: Zastępowanie danych
Zapytanie REPLACE w MySQL jest specjalnym rodzajem zapytania, które działa jak kombinacja zapytań INSERT oraz DELETE. Jego głównym celem jest zastąpienie istniejącego rekordu nowym. Jeśli rekord z danym kluczem (zwykle kluczem głównym lub unikalnym) już istnieje, zostaje on usunięty, a nowy rekord zostaje dodany.
Jest to przydatne, gdy chcemy zaktualizować istniejące dane, ale nie chcemy używać standardowego zapytania UPDATE i musimy mieć pewność, że rekord zostanie zastąpiony.
📌 Podstawowa składnia zapytania REPLACE
✅ Elementy składni:
- REPLACE INTO – polecenie do zastąpienia danych w tabeli.
- nazwa_tabeli – wskazuje tabelę, w której chcemy zastąpić dane.
- (kolumna1, kolumna2, kolumna3) – kolumny, w których będą umieszczone nowe wartości.
- VALUES – wartości, które chcemy wprowadzić do kolumn.
Przykład
REPLACE INTO nazwa_tabeli (kolumna1, kolumna2, kolumna3)
VALUES (wartość1, wartość2, wartość3);
📌 Zastosowanie zapytania REPLACE
✅ Przykład: Zastąpienie istniejącego wpisu w tabeli produkty
📌 Opis:
- Jeśli produkt o id = 3 istnieje w tabeli, zostanie zastąpiony nowymi danymi.
- Zamiast używać UPDATE, możemy użyć REPLACE, aby "usunąć" stary rekord i dodać nowy.
Przykład
REPLACE INTO produkty (id, nazwa, cena, kategoria)
VALUES (3, 'Laptop', 2999.99, 'Elektronika');
📌 Różnice między REPLACE a INSERT i UPDATE
✅ Przykład:
- INSERT: Dodaje nowy rekord, jeśli nie istnieje, ale nie modyfikuje istniejących.
- UPDATE: Modyfikuje dane w istniejącym rekordzie.
- REPLACE: Jeśli rekord istnieje, jest usuwany i dodawany na nowo, więc możemy uzyskać ten sam efekt co w INSERT i UPDATE w jednym zapytaniu.
📌 Zalety REPLACE:
- Szybsze i prostsze, kiedy chcemy zastąpić cały rekord, a nie tylko jego część.
- Możemy używać go, gdy nie zależy nam na historii danych, a jedynie na aktualizacji pełnego rekordu.
📌 Kiedy używać zapytania REPLACE?
✅ Przykład:
Jeśli chcemy dodać rekord, ale w przypadku jego istnienia zastąpić go nowym. Może to być użyteczne w sytuacjach, gdy:- Chcemy zapewnić, że rekord zawsze jest aktualny, a jeśli nie ma go w tabeli, zostanie dodany.
- Przykład: Baza danych z produktami, gdzie musimy zapewnić, że produkty są zawsze aktualne i unikalne na podstawie klucza głównego.
Podsumowanie
- Zapytanie REPLACE jest połączeniem zapytań INSERT oraz DELETE.
- Jeśli rekord o podanym kluczu istnieje, zostanie usunięty i zastąpiony nowym.
- Jeśli rekord nie istnieje, zostanie dodany nowy.
- Używamy go głównie, gdy chcemy zapewnić, że dane są zawsze aktualne w tabeli.
- Użycie REPLACE jest bardziej wydajne niż osobne zapytania INSERT i UPDATE w przypadku pełnej aktualizacji rekordu.