Lekcja 2: Mówimy językiem baz danych — Podstawowe komendy SQL
Witaj z powrotem, przyszły mistrzu danych! Teraz, gdy twoje królestwo PostgreSQL jest w pełni funkcjonalne, czas nauczyć się rozmawiać z twoimi danymi. I nie, nie mam na myśli szeptania tabelkom komplementów (choć jeśli ci to pomaga, kto zabroni?). Dziś zgłębimy podstawy SQL — języka, który pozwoli ci rozkazywać swoim bazom danych z precyzją (i odrobiną stylu, jak na króla przystało!).
Co to jest SQL?
SQL (czytane jako “es-kju-el” albo “sikłel” — wybór należy do ciebie) oznacza Structured Query Language. To uniwersalny sposób porozumiewania się z relacyjnymi bazami danych. Wyobraź sobie SQL jako Google Translate, tylko dla twoich danych. Chcesz wyciągnąć wszystkie wiersze z tabeli? SQL mówi: „Jasna sprawa!”. Chcesz dodać, usunąć albo zmodyfikować informacje? SQL odpowiada: „Mówisz, masz!”.
Krótko mówiąc, gdyby PostgreSQL był twoim służalcem, to SQL byłby tymi karteczkami, które mu podrzucasz z poleceniami: „Nie zapomnij nakarmić kota i posprzątać w bazie!”.
Podstawowe komendy SQL: Cegiełki twojego królestwa
Zanim przejdziemy do skomplikowanych zapytań, które wyglądają jak stare przepisy na bigos, skupmy się na podstawach. Oto co dziś przećwiczymy:
- CREATE TABLE: Budujemy domek dla twoich danych.
- INSERT INTO: Zapraszamy dane na parapetówkę.
- SELECT: Pytamy, kto jest w środku.
- UPDATE: Przestawiamy meble (czyli zmieniamy dane).
- DELETE: Delikatnie wyprowadzamy dane (lub wywalamy z kopniakiem).
1. CREATE TABLE
Komenda CREATE TABLE
— to punkt wyjścia. Wyobraź sobie, że budujesz fundamenty zamku — bez tego twoje dane nie miałyby gdzie mieszkać.
CREATE TABLE rycerze (
id SERIAL PRIMARY KEY,
imie VARCHAR(100),
misja VARCHAR(255),
ulubiony_kolor VARCHAR(50)
);
W tym przykładzie tworzymy tabelę rycerze
z czterema kolumnami: id
, imie
, misja
i ulubiony_kolor
. Zwróć uwagę, jak definiujemy typ danych dla każdej kolumny (np. VARCHAR
dla tekstu). SERIAL PRIMARY KEY
dla id
oznacza, że każdy rycerz dostanie unikalny numer — na wypadek, gdyby trzeba było wszystkich zliczyć.
2. INSERT INTO
Teraz, gdy mamy tabelę, dodajmy do niej kilku rycerzy. Użyj komendy INSERT INTO
, aby wypełnić tabelę danymi — jak dodanie gości do listy na super imprezę.
INSERT INTO rycerze (imie, misja, ulubiony_kolor)
VALUES ('Sir Lancelot', 'Szukaj Świętego Graala', 'Niebieski'),
('Sir Galahad', 'Znajdź Graala', 'Czerwony'),
('Król Artur', 'Rządź Camelotem', 'Zielony');
Tutaj zapraszamy trzech rycerzy, by zasiedli przy naszym okrągłym stole. Pamiętaj: z INSERT INTO
najpierw podajesz nazwy kolumn, a potem wartości w nawiasach.
3. SELECT
Kiedy wypełnisz tabelę, czas zobaczyć, kto tam jest. Komenda SELECT
— to jak pukanie do drzwi i pytanie: „Kto tam?”
SELECT * FROM rycerze;
Gwiazdka *
oznacza „wybierz wszystko”, więc PostgreSQL zwróci wszystkie kolumny dla każdego rycerza w twojej tabeli. Jeśli interesują cię tylko ich ulubione kolory (każdy ma swoje dziwactwa), możesz wybrać:
SELECT imie, ulubiony_kolor FROM rycerze;
Teraz zobaczysz tabelę tylko z imionami i ich kolorami. Prościzna!
4. UPDATE
Zmienisz zdanie co do ulubionego koloru Sir Galahada? Żaden problem! Użyj komendy UPDATE
, aby zmienić istniejące dane — to jak przemeblowanie w salonie.
UPDATE rycerze
SET ulubiony_kolor = 'Żółty'
WHERE imie = 'Sir Galahad';
Klauzula WHERE
mówi PostgreSQL, który wiersz zaktualizować. Bez niej zmienisz kolor we wszystkich wierszach — a chyba nie chcesz, żeby cały zamek nagle stał się żółty, prawda?
5. DELETE
I w końcu, jeśli jakiś rycerz postanowił przejść na emeryturę (albo chcesz trochę posprzątać), możesz użyć komendy DELETE
.
DELETE FROM rycerze
WHERE imie = 'Król Artur';
Bez WHERE
wymażesz wszystkich rycerzy. A pusty okrągły stół… no cóż, to smutny widok.
Łączymy wszystko w jedno
Oto krótki skrypt, żeby sprawdzić wszystko, czego dziś się nauczyliśmy:
CREATE TABLE rycerze (
id SERIAL PRIMARY KEY,
imie VARCHAR(100),
misja VARCHAR(255),
ulubiony_kolor VARCHAR(50)
);
INSERT INTO rycerze (imie, misja, ulubiony_kolor)
VALUES ('Sir Lancelot', 'Szukaj Świętego Graala', 'Niebieski'),
('Sir Galahad', 'Znajdź Graala', 'Czerwony'),
('Król Artur', 'Rządź Camelotem', 'Zielony');
SELECT * FROM rycerze;
UPDATE rycerze
SET ulubiony_kolor = 'Żółty'
WHERE imie = 'Sir Galahad';
DELETE FROM rycerze
WHERE imie = 'Król Artur';
SELECT * FROM rycerze;
Spróbuj uruchomić ten skrypt w swoim terminalu PostgreSQL i zobacz, jak magia ożywa!
Podsumowanie: Czego się dziś nauczyliśmy?
Dziś przeanalizowaliśmy podstawowe komendy SQL, które pozwalają tworzyć, zmieniać i przeglądać twoje dane:
CREATE TABLE
: Tworzenie nowej tabeli.INSERT INTO
: Dodawanie nowych wierszy do tabeli.SELECT
: Wyświetlanie danych w tabeli.UPDATE
: Modyfikowanie istniejących danych.DELETE
: Usuwanie wierszy z tabeli.
Co dalej?
W następnym odcinku zagłębimy się w świat Joins i Relacji — jak sprawić, by twoje tabele rozmawiały między sobą jak starzy kumple. Do tego czasu ćwicz swoje SQL-zaklęcia i pamiętaj: z wielką mocą przychodzi wielka odpowiedzialność… zwłaszcza z komendą DELETE
!
Gotowy na więcej? Przejdź do Lekcji 3: Joins i Relacje.
Witaj w języku baz danych. Oby twoje zapytania były szybkie, a wyniki — precyzyjne!