1. Historie a charakteristika
- Původ: Vyvinuto firmou IBM
- Název: Původně SEQUEL (Structured English QUEry Language), ale kvůli ochranné známce zkráceno na SQL.
- Účel: Slouží výhradně ke komunikaci s relačními databázemi. Je to tzv. deklarativní jazyk – říkáme „CO“ chceme (např. dej mi seznam studentů), nestaráme se „JAK“ to počítač na disku najde.
- Design (dva směry):
- Pro lidi: Snaha o jednoduchou angličtinu, aby se to dalo číst jako věta (
SELECT * FROM users WHERE age > 18)
- Pro počítač: Jednoznačná syntaxe a pořadí příkazů = snadný parsing (počítač vždy přesně ví, co má udělat)
Standardizace vs. Realita
- První standard byl SQL-86 (ANSI).
- Problém: Každý výrobce databází (Oracle, Microsoft, PostgreSQL) si standard trochu upravil a přidal vlastní funkce. Vznikly tak dialekty:
- Microsoft SQL Server
- Oracle SQL
- pgSQL (PostgreSQL)
2. Rozdělení příkazů
A. DDL (Data Definition Language) – Definice dat
Příkazy, které mění strukturu databáze (schéma), ne samotná data uvnitř.
CREATE: Vytvoří nový objekt (tabulku, databázi, pohled).
ALTER: Upraví existující objekt (přidá sloupec do tabulky).
DROP: Smaže objekt nenávratně i s daty (zruší tabulku).
TRUNCATE: Smaže všechna data v tabulce, ale strukturu (hlavičku) nechá. Je to rychlejší než DELETE.
B. DML (Data Manipulation Language) – Manipulace s daty
Příkazy pro práci s obsahem tabulek (řádky)
SELECT: Vybere data (někdy se vyčleňuje jako DQL – Query Language)
INSERT: Vloží nová data