Čo je SQL? Jazyk databáz jednoducho vysvetlený
SQL (Structured Query Language, vyslovované „S-Q-L“ alebo „sequel“) je štandardný jazyk na prácu s relačnými databázami — tými, ktoré ukladajú dáta do tabuliek s riadkami a stĺpcami, ako Postgres, MySQL, SQLite a SQL Server. SQL používate na kladenie otázok na vaše dáta („ktorí zákazníci si rezervovali tento mesiac?“) a na pridávanie, zmenu alebo odstránenie záznamov. Existuje od 70. rokov, je medzinárodným štandardom a poháňa obrovskú časť aplikácií na svete.
Prečo SQL záleží, keď budujete s AI
Keď požiadate nástroj na tvorbu aplikácií s AI, aby „ukladal objednávky“ alebo „ukázal zoznam nadchádzajúcich rezervácií“, niečo musí komunikovať s databázou — a vo väčšine aplikácií je to SQL, napísané priamo alebo vygenerované cez ORM.
SQL nemusíte písať sami, ale trocha porozumenia sa vyplatí:
- Môžete skontrolovať vlastné dáta. Krátky dotaz odpovie na „koľko registrácií sme mali tento týždeň?“ rýchlejšie než vytvorenie novej obrazovky.
- Môžete žiadať lepšie reporty. „Zoskup tržby podľa mesiaca a služby“ je pojem zo SQL. Keď ho poznáte, vaša požiadavka bude jasnejšia.
- Môžete odhaliť nebezpečné zmeny.
DELETEaleboUPDATEbez klauzulyWHEREovplyvní každý riadok. Stojí za to to zachytiť skôr, než sa spustí. - Vaše dáta nie sú uzamknuté. SQL je zdieľaný štandard, takže dáta v SQL databáze môže presúvať a čítať mnoho nástrojov.
Každodenné prirovnanie
Predstavte si veľmi dobre zorganizovanú knižnicu s knihovníkom, ktorý hovorí len presným a jednoduchým jazykom.
Regále neprechádzate sami. Knihovníkovi podáte lístok: „Nájdi všetky knihy tohto autora, vydané po roku 2010, najnovšie ako prvé.“ Knihovník pozná budovu naspamäť a vráti presne tie knihy, v tomto poradí.
SQL je jazyk na tom lístku. Hovoríte, čo chcete, nie ako to nájsť — databáza si sama nájde najrýchlejšiu cestu.
Ako SQL funguje: tabuľky, riadky a stĺpce
Relačná databáza ukladá dáta do tabuliek. Každá tabuľka drží jeden druh vecí, každý riadok je jeden záznam a každý stĺpec je jedna informácia:
customers
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lisbon |
| 2 | Sam Patel | sam@example.com | Leeds |
orders
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42.00 | 2026-09-20 |
| 102 | 2 | 18.50 | 2026-09-22 |
| 103 | 1 | 25.00 | 2026-09-27 |
Stĺpec customer_id prepája každú objednávku so zákazníkom. Práve toto prepojenie robí databázu „relačnou“.
Pracovný príklad: odpovedanie na skutočné otázky
1. Čítanie dát — „ukáž mi všetkých zákazníkov v Lisabone“:
SELECT name, email
FROM customers
WHERE city = 'Lisbon';
2. Radenie a obmedzenie — „päť najnovších objednávok“:
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Spájanie tabuliek — „každá objednávka s menom zákazníka“:
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Súhrn — „celková suma utratená na zákazníka“:
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
Pri ukážkových dátach vráti Lena Ortiz 67.00 a Sam Patel 18.50.
5. Zmena dát:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Porto');
UPDATE customers SET city = 'Porto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
Tie zodpovedajú štyrom základným akciám takmer každej aplikácie — vytvoriť, čítať, upraviť a zmazať, známym ako CRUD.
Jedno varovanie: UPDATE customers SET city = 'Porto'; bez klauzuly WHERE zmení každého zákazníka. Vždy skontrolujte WHERE, skôr než spustíte zmenu.
Hlavné časti SQL
| Príkaz | Čo robí |
|---|---|
SELECT | Čítanie dát |
INSERT | Pridanie nových riadkov |
UPDATE | Zmena existujúcich riadkov |
DELETE | Odstránenie riadkov |
CREATE TABLE / ALTER TABLE | Vytvorenie alebo zmena štruktúry tabuľky |
WHERE | Filtrovanie, ktoré riadky sa ovplyvnia |
JOIN | Spojenie súvisiacich tabuliek |
GROUP BY | Zhrnutie riadkov do skupín, s COUNT, SUM, AVG |
ORDER BY / LIMIT | Radenie a obmedzenie výsledkov |
SQL je štandardizované, ale každá databáza pridáva vlastné rozšírenia, nazývané dialekt. Postgres, MySQL a SQLite rozumejú všetkým vyššie uvedeným príkladom, hoci detaily ako funkcie pre dátumy sa mierne líšia.
Kľúčové pojmy
| Pojem | Význam |
|---|---|
| Dotaz (query) | SQL príkaz, najmä taký, ktorý číta dáta. |
| Tabuľka / riadok / stĺpec | Druh veci / jeden záznam / jeden atribút. |
| Primárny kľúč | Stĺpec, ktorý jednoznačne identifikuje každý riadok, zvyčajne id. |
| Cudzí kľúč | Stĺpec ukazujúci na riadok v inej tabuľke, napríklad customer_id. |
| Index | Štruktúra na vyhľadávanie, ktorá výrazne zrýchľuje hľadanie v stĺpci. |
| Schéma | Štruktúra všetkých tabuliek a stĺpcov. |
| Transakcia | Skupina zmien, ktoré buď uspejú, alebo zlyhajú spolu. |
| SQL injection | Útok, pri ktorom sa vstup používateľa vloží do dotazu. Zabraňujú mu parametrizované dotazy. |
Bežné mylné predstavy
- „SQL je databáza.“ SQL je jazyk; Postgres, MySQL a SQLite sú databázy, ktoré ním hovoria.
- „SQL je staré, takže je zastarané.“ Je zrelé, nie zastarané. Moderné databázy a dátové nástroje ho stále používajú a novšie často pridávajú podporu SQL.
- „SQL môžu používať len vývojári.“ Analytici, marketéri a zakladatelia používajú jednoduché dotazy každý deň.
- „SQL nezvládne flexibilné dáta.“ Mnohé SQL databázy ukladajú aj JSON. Postgres napríklad má typ
jsonb. Pozrite SQL vs NoSQL. - „Nechať AI spúšťať ľubovoľné SQL na produkcii je v poriadku.“ Čítanie je málo rizikové; zmeny a mazanie na živých dátach si zaslúžia zálohu a druhý pohľad. Pozrite ako zálohovať databázu aplikácie.
Čo sa opýtať svojho AI nástroja na tvorbu
- „Ukáž mi tabuľky v mojej databáze a čo znamená každý stĺpec.“
- „Napíš dotaz iba na čítanie: koľko nových registrácií bolo za posledných 30 dní každý deň?“
- „Skôr než spustíš akýkoľvek UPDATE alebo DELETE, ukáž mi dotaz a koľko riadkov ovplyvní.“
- „Pridaj indexy na stĺpce, podľa ktorých najčastejšie filtrujeme a radíme.“
- „Zabezpeč, aby bol každý dotaz s používateľským vstupom parametrizovaný.“
- „Zabal aktualizácie objednávok a platieb do transakcie, aby nemohli uspieť len čiastočne.“
SQL v Mythex
Keď vaša aplikácia potrebuje ukladať dáta, Mythex pridá do projektu vyhradenú databázu Postgres — stačí požiadať v chate, napríklad „ulož e-maily čakacej listiny do databázy“, alebo použiť príkaz /database (Databáza). Agent vytvorí tabuľky a napíše dotazy a v režime Ask ho môžete požiadať, aby ľubovoľný dotaz vysvetlil jednoduchou angličtinou. Viac o samotnej databáze nájdete v čo je Postgres.
Otázky
Čo je SQL jednoducho povedané?
SQL (Structured Query Language) je štandardný jazyk na prácu s relačnými databázami. Používate ho na kladenie otázok na vaše dáta, napríklad „ktoré objednávky boli zadané tento týždeň“, a na pridávanie, úpravu alebo mazanie záznamov.
Ako sa vyslovuje SQL?
Bežne sa používa aj „S-Q-L“ (hláskované písmená) aj „sequel“ a obe sú správne. Jazyk sa pôvodne nazýval SEQUEL, odtiaľ pochádza druhá výslovnosť.
Je SQL programovací jazyk?
SQL je dotazovací jazyk navrhnutý na správu dát. Opíšete, aký výsledok chcete, a databáza zistí, ako ho získať. Samo osebe sa nepoužíva na tvorbu celých aplikácií, ale je súčasťou takmer každej aplikácie, ktorá používa relačnú databázu.
Je SQL ťažké naučiť sa?
Základy sú zvládnuteľné: SELECT, WHERE, ORDER BY, INSERT, UPDATE a DELETE pokrývajú väčšinu bežných potrieb a čítajú sa takmer ako angličtina. Spojenia, zoskupovanie a ladenie výkonu si vyžadujú dlhšie.
Potrebujem poznať SQL, aby som vytvoril aplikáciu s AI?
Nie. Nástroj na tvorbu s AI napíše SQL alebo databázový kód za vás. Trocha porozumenia vám pomôže skontrolovať vaše dáta, žiadať reporty a odhaliť rizikové zmeny skôr, než sa stanú.