DEFINICE A FUNKCE
SQL je strukturovaný dotazovací jazyk. Je to jazyk deklarativní, což znamená, že mu pouze říkáme co má být výsledkem a již nás nezajímá, jak tohoto výsledku dosáhne narozdíl od jazyků imperativních, kterým to musíme popsat krok po kroku co má udělat. Díky tomuto jsou databázové dotazy zjednodušeny na příkazy jako například “Vypiš 5 žáků s nejmenším průměrem”. Databáze si dotaz přebere a rozloží si ho na nějaké své instrukce zpracuje ho. Vrátí nám výsledek, aniž bychom věděli, jak k němu došla.
HISTORIE
V 70. letech 20. století probíhal v IBM výzkum relačních databází. Výsledkem výzkumu se stal jazyk SEQUEL. Jazyk měl tvořit příkazy syntakticky co nejblíže k přirozenému jazyku.V roce 1979 uvedla na trh firma dnes známá pod názvem Oracle Corporation svoji relační databázovou platformu Oracle Database. V roce 1981 uvedlo IBM systém SQL/DLS a následně DB2. Později to byly systémy jako např. Progres nebo SyBase. V těchto systémech se používal SEQUEL, který přejmenovali na SQL. Dnes se používá SQL-99, který reaguje na moderní databáze s objektovými prvky.
PŘÍKAZY
SELECT se používá pro výběr dat z tabulky.
syntax:
SELECT co_chceme_vybrat FROM název_tabulky; ← vybere co chceme z vybrané tabulky
SELECT * FROM název_tabulky; ← vybere všechno ze zadané tabulky
SELECT co_chceme_vybrat FROM název_tabulky WHERE podmínka; ← vybere to, co splňuje podmínku
INSERT se používá pro vkládání nových dat do databáze.
syntax:
INSERT INTO název_tabulky (sloupec1, sloupec2,…) VALUES (hodnota1, hodnota2,..); ← přidává hodnoty pro zadané sloupce konkrétně
INSERT INTO název_tabulky VALUES (hodnota1, hodnota2,…); ← zapíše hodnoty do sloupců, tak jak jdou hodnoty v řadě
UPDATE se používá k úpravě již existujících záznamů v tabulce.
syntax:
UPDATE název_tabulky SET sloupec_1 = hodnota1, sloupec2 = hodnota2, … WHERE podmínka; ← pokud se vynechá WHERE, aktualizují se všechny záznamy
příklad:
UPDATE znamky SET znamka=5; ← změní všem známku na 5
UPDATE znamky SET znamka=5 WHERE predmet=’Matematika’; ← změní známku těm, co mají matematiku
MERGE je kombinací INSERTu a UPDATu. Data vloží nebo upraví.
DELETE odstraní data z tabulky.
syntax:
DELETE FROM název_tabulky WHERE podmínka; ← odstraní z databáze to co splňuje podmínku.
DELETE FROM název_tabulky; ← odstraní všechny záznamy
CREATE je příkaz pro vytváření nových objektů.
CREATE TABLE název_tabulky (sloupec1 datový_typ, sloupec2 datový_typ,…);
ALIAS se používá pro dočasný název. Trvá jen délku dotazu. SELECT co_chceme AS jak_to_chceme_přejmenovat FROM název_tabulky;