Lekcja 2: Mówimy językiem baz danych — Podstawowe komendy SQL


Lesson2

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:

  1. CREATE TABLE: Budujemy domek dla twoich danych.
  2. INSERT INTO: Zapraszamy dane na parapetówkę.
  3. SELECT: Pytamy, kto jest w środku.
  4. UPDATE: Przestawiamy meble (czyli zmieniamy dane).
  5. 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!