Co je SQL?
Vítejte v kurzu SQL! Skoro každá aplikace ukládá svá data do databáze: internetový obchod své zboží a objednávky, banka účty a platby, hra hráče a jejich skóre. A když se chtějí programátoři databáze na něco zeptat, použijí SQL.
Databáze ukládá data do tabulek. Tabulka vypadá jako tabulka v Excelu: má sloupce, každý se svým názvem, a řádky, jeden pro každou věc, kterou tabulka popisuje. Takhle vypadají první tři řádky tabulky hry internetového obchodu s hrami Pixel Shop:
| id | nazev | zanr | cena | vydano | vek_od |
|---|---|---|---|---|---|
| 1 | Dragon Forge | RPG | 999 | 2024-03-14 | 16 |
| 2 | Pixel Racer | Závodní | 399 | 2023-07-02 | 3 |
| 3 | Moon Farm | Simulace | 499 | 2022-11-18 | 3 |
Každý řádek je jedna hra a každý sloupec o ní říká jednu věc: její název, žánr, cenu v korunách, den, kdy vyšla, a věk, od kterého je vhodná.
SQL (Structured Query Language, tedy strukturovaný dotazovací jazyk, čte se „es-kvé-el“) je jazyk pro práci s databázemi. V SQL píšete, co chcete vědět, a ne jak to zjistit. Nepíšete cykly, které procházejí řádky jeden po druhém. Řeknete „ukaž mi názvy her, které stojí méně než 500 Kč“, a databáze sama vymyslí, jak je najít.
SQL je zhruba padesát let staré a pořád patří k nejpoužívanějším programovacím jazykům na světě. Databázových systémů je mnoho: PostgreSQL, MySQL, Microsoft SQL Server, Oracle, SQLite. Každý přidává něco svého, ale základy SQL jsou ve všech stejné, a právě ty se tu naučíte. Tento kurz používá SQLite, malou databázi, která běží přímo ve vašem prohlížeči. Je to zároveň nejrozšířenější databáze na světě: je v každém telefonu, v každém webovém prohlížeči a v tisících aplikací.
V kurzu budete pracovat s databází obchodu Pixel Shop. Její tabulky obsahují hry, zákazníky, jejich objednávky a recenze. Krok za krokem se naučíte v nich najít, co potřebujete, počítat a sčítat, spojovat tabulky a nakonec data měnit a navrhovat vlastní tabulky.
Otázce, kterou databázi položíte, se říká dotaz. Nejjednodušší dotaz ukáže celou tabulku:
SELECT * FROM hry;SELECT (vyber) říká, že chcete vidět data, * (hvězdička) znamená všechny sloupce a FROM hry (z tabulky hry) říká, ze které tabulky. Středník dotaz ukončuje. Když kliknete na Spustit, databáze dotaz provede a ukáže jeho výsledek, tedy nalezené řádky, jako tabulku na kartě Výsledky.
Vedle Výsledků je karta Tabulky. Ukazuje všechny tabulky databáze se všemi řádky. Podívejte se tam, kdykoli potřebujete vědět, co tabulka obsahuje nebo jak se jmenují její sloupce. Na telefonu najdete obojí na kartě Výstup.
Jak psát:
Pokyny
Napište do editoru dotaz SELECT * FROM hry; a klikněte na Spustit. Výsledek obsahuje všech 20 her obchodu a začíná takto:
| id | nazev | zanr | cena | vydano | vek_od |
|---|---|---|---|---|---|
| 1 | Dragon Forge | RPG | 999 | 2024-03-14 | 16 |
| 2 | Pixel Racer | Závodní | 399 | 2023-07-02 | 3 |
| … | … | … | … | … | … |
Na další řádek přidejte druhý dotaz, který ukáže celou tabulku zakaznici. Spusťte dotazy znovu: výsledek má teď dvě tabulky, pro každý dotaz jednu. Ta druhá začíná takto:
| id | jmeno | mesto | registrace | doporucil | |
|---|---|---|---|---|---|
| 1 | Eva Novotná | eva.novotna@mail.cz | Praha | 2023-01-15 | NULL |
| 2 | Jakub Dvořák | jakub.d@mail.cz | Brno | 2023-02-03 | 1 |
| … | … | … | … | … | … |
Začněte programovat zdarma
1/8