Zatím jsme stavěli stránky, jejichž obsah je napevno v souboru. Jenže co když se obsah mění – seznam produktů, články na blogu, objednávky, registrovaní uživatelé? Přepisovat kvůli každé změně HTML by byla hrůza. Od toho je databáze: místo, kam web ukládá data a odkud si je kdykoli vytáhne. A SQL je jazyk, kterým se s databází domluvíte.
K čemu je databáze
Databáze je úložiště dat, které umí rychle hledat, třídit a měnit. Používá ji prakticky každý větší web:
- e-shop – produkty, ceny, skladové zásoby, objednávky,
- blog – jednotlivé články a komentáře,
- jakýkoli web s administrací – včetně tohohle: návody, které právě čtete, jsou uložené v databázi.
Výhoda je jasná: obsah upravíte na jednom místě a web ho sám načte. Žádné ruční přepisování stránek.
Jak si databázi představit
Nejsnáz jako tabulku v Excelu. Má sloupce (vlastnosti) a řádky (jednotlivé záznamy). Takhle by mohla vypadat tabulka produkty:
| id | nazev | cena | skladem |
|---|---|---|---|
| 1 | Klávesnice | 790 | 12 |
| 2 | Myš | 350 | 40 |
Každý řádek je jeden produkt, každý sloupec jedna vlastnost. Sloupec id je jedinečné číslo záznamu – podle něj se produkt spolehlivě pozná, i kdyby se dva jmenovaly stejně.
A co je SQL
SQL (Structured Query Language) je jazyk, kterým databázi dáváte pokyny. Celá práce se dá shrnout do čtyř vět:
- vytáhni data, která chci (
SELECT), - přidej nový záznam (
INSERT), - změň existující (
UPDATE), - smaž ho (
DELETE).
Dotaz se čte skoro jako anglická věta. „Dej mi název a cenu všech produktů, co jsou skladem" vypadá takhle:
SELECT nazev, cena FROM produkty WHERE skladem > 0;
Tím se v téhle sekci budeme postupně zabývat – krok za krokem, na téhle tabulce produktů.
SQL, HTML a PHP – každý na něco jiného
Aby v tom byl pořádek: tyhle tři věci spolu souvisejí, ale každá dělá něco úplně jiného.
- HTML je o vzhledu a struktuře stránky.
- SQL je o datech v databázi.
- PHP je logika, která obojí spojí dohromady.
Důležité: SQL se o vzhled stránky nestará a s prohlížečem přímo nekomunikuje. Data z databáze se k návštěvníkovi dostanou až přes PHP, které SQL dotaz spustí a výsledek vloží do stránky. Proto se tu SQL učíme zvlášť – a jak ho propojit s PHP, ukážeme na konci sekce.
Kde si SQL vyzkoušet
Nemusíte nic instalovat. U většiny hostingů (Wedos nevyjímaje) je v administraci nástroj phpMyAdmin – klikací správa databáze, kde má i záložku SQL, do které dotaz napíšete a spustíte. Přesně tam si všechno z téhle sekce vyzkoušíte naživo.
UPDATE nebo DELETE, vždy si rozmyslete, na které řádky dopadne – špatně mířený příkaz umí smazat víc, než jste chtěli. K tomu se dostaneme ve čtvrtém díle.Nechcete web řešit sami a chcete ho mít hotový a profesionální?
Podívejte se na tvorbu webů →© Ondřej Šteigl. Autorem návodů jsem já. Obsah je autorským dílem chráněným podle zákona č. 121/2000 Sb. (autorský zákon). Kopírování, přebírání nebo šíření bez mého předchozího písemného souhlasu je zakázáno. Výukové použití je vítáno – stačí uvést zdroj (osteigl.cz).