Słowniczek — Bazy danych i SQL
Po co się tego uczymy?
Zbiorcza ściąga wszystkich poleceń SQL poznanych w tym dziale — jedno miejsce, do którego warto wrócić przed sprawdzianem, zadaniem praktycznym albo egzaminem, zamiast przeszukiwać wszystkie 16 lekcji z osobna.
Teoria
| Nazwa | Opis / wyjaśnienie | Przykład składni |
|---|---|---|
SELECT |
Pobiera dane z tabeli. | SELECT * FROM Filmy; |
FROM |
Wskazuje tabelę źródłową zapytania. | ... FROM Filmy |
WHERE |
Filtruje wiersze według warunku. | WHERE cena > 10 |
INSERT INTO ... VALUES |
Dodaje nowy wiersz do tabeli. | INSERT INTO Filmy (tytul) VALUES ('X'); |
UPDATE ... SET |
Modyfikuje istniejące wiersze. | UPDATE Filmy SET cena=9.99 WHERE id=1; |
DELETE FROM |
Usuwa wiersze z tabeli. | DELETE FROM Filmy WHERE id=1; |
CREATE TABLE |
Tworzy nową tabelę. | CREATE TABLE Filmy (...); |
ALTER TABLE |
Modyfikuje strukturę istniejącej tabeli. | ALTER TABLE Filmy ADD kolumna INT; |
DROP TABLE |
Trwale usuwa całą tabelę razem z danymi. | DROP TABLE Filmy; |
PRIMARY KEY |
Klucz główny — unikalny identyfikator wiersza. | id INT PRIMARY KEY |
FOREIGN KEY |
Klucz obcy — odwołanie do wiersza w innej tabeli. | FOREIGN KEY (id_gatunku) REFERENCES Gatunki(id) |
JOIN / INNER JOIN |
Łączy dane z dwóch tabel na podstawie warunku. | ... INNER JOIN Gatunki ON ... |
LEFT JOIN |
Łączy tabele, zachowując WSZYSTKIE wiersze lewej tabeli. | ... LEFT JOIN Gatunki ON ... |
GROUP BY |
Grupuje wiersze do użycia z funkcjami agregującymi. | GROUP BY id_gatunku |
HAVING |
Filtruje wyniki PO grupowaniu (WHERE działa przed grupowaniem). | HAVING COUNT(*) > 1 |
ORDER BY |
Sortuje wyniki rosnąco (ASC) lub malejąco (DESC). | ORDER BY cena DESC |
LIMIT |
Ogranicza liczbę zwracanych wierszy. | LIMIT 10 |
DISTINCT |
Usuwa duplikaty z wyniku zapytania. | SELECT DISTINCT gatunek FROM Filmy; |
COUNT/SUM/AVG/MIN/MAX |
Funkcje agregujące — liczba, suma, średnia, minimum, maksimum. | SELECT COUNT(*) FROM Filmy; |
LIKE |
Dopasowanie wzorca tekstowego (% = dowolny ciąg znaków). | WHERE tytul LIKE '%czas%' |
BETWEEN |
Sprawdza, czy wartość mieści się w podanym zakresie. | WHERE cena BETWEEN 5 AND 15 |
IN |
Sprawdza, czy wartość znajduje się na podanej liście. | WHERE id IN (1,2,3) |
NULL / NOT NULL |
Brak wartości / wymóg wypełnienia kolumny. | kolumna VARCHAR(50) NOT NULL |
AUTO_INCREMENT |
Automatyczne zwiększanie wartości klucza przy każdym nowym wierszu. | id INT AUTO_INCREMENT |
UNIQUE |
Wymusza unikalność wartości w kolumnie (brak duplikatów). | email VARCHAR(100) UNIQUE |
| Podzapytanie (subquery) | Zapytanie SQL zagnieżdżone wewnątrz innego zapytania. | WHERE cena > (SELECT AVG(cena) FROM Filmy) |
Zadania do pracy własnej
Zadanie 1. Słowniczek na bazie sklepu
Uwaga przed importem: plik z bazą jest spakowany jako
.gz. phpMyAdmin w XAMPP przyjmuje takie pliki bez rozpakowywania. Jeżeli po pobraniu nazwa wygląda np.sklep_muzyczny.sql_.gzi import nie przejdzie, zmień nazwę pliku nasklep_muzyczny.sql.gz, a potem wybierz go w zakładce Importuj.Baza do pracy: Sklep muzyczny (.sql.gz). Zaimportuj spakowany plik SQL w XAMPP/phpMyAdmin, a następnie wykonaj zapytania.
- Znajdź w bazie przykład tabeli.
- Znajdź przykład rekordu.
- Znajdź przykład kolumny tekstowej.
- Znajdź przykład klucza głównego.
- Znajdź przykład klucza obcego.
- Znajdź przykład relacji 1:N.
- Znajdź przykład relacji N:M.
- Znajdź zapytanie używające WHERE.
- Znajdź zapytanie używające GROUP BY.
- Znajdź zapytanie używające JOIN.
Zadanie 2. Słowniczek na bazie szkoły
Uwaga przed importem: plik z bazą jest spakowany jako
.gz. phpMyAdmin w XAMPP przyjmuje takie pliki bez rozpakowywania. Jeżeli po pobraniu nazwa wygląda np.sklep_muzyczny.sql_.gzi import nie przejdzie, zmień nazwę pliku nasklep_muzyczny.sql.gz, a potem wybierz go w zakładce Importuj.Baza do pracy: Szkoła relacje (.sql.gz). Zaimportuj spakowany plik SQL w XAMPP/phpMyAdmin, a następnie wykonaj zapytania.
- Znajdź w bazie przykład tabeli.
- Znajdź przykład rekordu.
- Znajdź przykład kolumny tekstowej.
- Znajdź przykład klucza głównego.
- Znajdź przykład klucza obcego.
- Znajdź przykład relacji 1:N.
- Znajdź przykład relacji N:M.
- Znajdź zapytanie używające WHERE.
- Znajdź zapytanie używające GROUP BY.
- Znajdź zapytanie używające JOIN.
Zadanie 3. Słowniczek na bazie apteki
Uwaga przed importem: plik z bazą jest spakowany jako
.gz. phpMyAdmin w XAMPP przyjmuje takie pliki bez rozpakowywania. Jeżeli po pobraniu nazwa wygląda np.sklep_muzyczny.sql_.gzi import nie przejdzie, zmień nazwę pliku nasklep_muzyczny.sql.gz, a potem wybierz go w zakładce Importuj.Baza do pracy: Apteka Zdrowie (.sql.gz). Zaimportuj spakowany plik SQL w XAMPP/phpMyAdmin, a następnie wykonaj zapytania.
- Znajdź w bazie przykład tabeli.
- Znajdź przykład rekordu.
- Znajdź przykład kolumny tekstowej.
- Znajdź przykład klucza głównego.
- Znajdź przykład klucza obcego.
- Znajdź przykład relacji 1:N.
- Znajdź przykład relacji N:M.
- Znajdź zapytanie używające WHERE.
- Znajdź zapytanie używające GROUP BY.
- Znajdź zapytanie używające JOIN.