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 SELECT: Filtrowanie danych (LIKE, IN, BETWEEN)
Podczas pracy z bazą danych często potrzebujemy pobierać tylko określone rekordy spełniające konkretne warunki. W MySQL do filtrowania danych w zapytaniach `SELECT` wykorzystujemy klauzulę WHERE w połączeniu z operatorami LIKE, IN oraz BETWEEN. Pozwalają one na wyszukiwanie pasujących wartości, określonych zakresów i zestawów danych.
📌 Operator LIKE – Wyszukiwanie wzorców
Zastosowanie
- LIKE pozwala wyszukiwać rekordy pasujące do określonego wzorca.
- Stosujemy symbole wieloznaczne:
- % – zastępuje dowolną liczbę znaków.
- _ – zastępuje dokładnie jeden znak.
✅ Podstawowa składnia:
Przykład
-- Podstawowa składnia
SELECT kolumny FROM tabela
WHERE kolumna LIKE 'wzorzec';
-- Znalezienie użytkowników, których imię zaczyna się na "A"
SELECT * FROM uzytkownicy
WHERE imie LIKE 'A%';
-- Znalezienie e-maili w domenie Gmail
SELECT * FROM uzytkownicy
WHERE email LIKE '%@gmail.com';
-- Znalezienie użytkowników, których nazwisko ma dokładnie 6 znaków
SELECT * FROM uzytkownicy
WHERE nazwisko LIKE '______';
📌 Operator IN – Szukanie wartości w zbiorze
Zastosowanie
- Operator IN pozwala sprawdzić, czy wartość w kolumnie znajduje się w podanym zbiorze.
- Jest bardziej czytelny i wydajniejszy niż wielokrotne użycie `OR`.
Przykłady użycia:
- Wyszukiwanie użytkowników z wybranych miast.
- Pobieranie zamówień o określonych statusach.
- Filtrowanie produktów należących do konkretnych kategorii.
Przykład
-- Podstawowa składnia
SELECT kolumny FROM tabela
WHERE kolumna IN (wartość1, wartość2, wartość3);
-- Pobranie użytkowników z określonych miast
SELECT * FROM uzytkownicy
WHERE miasto IN ('Warszawa', 'Kraków', 'Wrocław');
-- Pobranie zamówień o określonych statusach
SELECT * FROM zamowienia
WHERE status IN ('zrealizowane', 'oczekujące');
-- Pobranie produktów z określonych kategorii
SELECT * FROM produkty
WHERE kategoria IN ('elektronika', 'odzież', 'książki');
📌 Operator BETWEEN – Filtrowanie zakresów
Zastosowanie
- BETWEEN pozwala na określenie zakresu wartości.
- Zakres obejmuje wartości graniczne.
- Może być używany do filtrowania liczb, dat i innych wartości.
Przykład
-- Podstawowa składnia
SELECT kolumny FROM tabela
WHERE kolumna BETWEEN wartość1 AND wartość2;
-- Pobranie użytkowników w wieku od 18 do 30 lat
SELECT * FROM uzytkownicy
WHERE wiek BETWEEN 18 AND 30;
-- Pobranie zamówień dokonanych między dwoma datami
SELECT * FROM zamowienia
WHERE data_zamowienia BETWEEN '2023-01-01' AND '2023-12-31';
-- Pobranie produktów o cenie między 100 a 500 zł
SELECT * FROM produkty
WHERE cena BETWEEN 100 AND 500;
Podsumowanie
- Operator LIKE służy do wyszukiwania tekstów pasujących do wzorca.
- Operator IN sprawdza, czy wartość należy do określonego zbioru.
- Operator BETWEEN pozwala filtrować wyniki w określonym zakresie.
- Wykorzystanie tych operatorów pozwala efektywnie selekcjonować dane w bazie.