Professional Documents
Culture Documents
Kategorie příkazů
DML (Data Manipulation Language)
Příkazy pro manipulaci s daty – jejich získávání, upravování, mazání
1. SELECT – vybírá data z DB
2. INSERT – vkládá data do DB
3. UPDATE – mění data v DB (edit)
4. MERGE – kombinace INSERT a UPDATE – data buď vloží (pokud neexistuje
odpovídající klíč), pokud existuje, pak je upraví ve stylu UPDATE
5. DELETE – odstraňuje data (záznamy) z DB
6. EXPLAIN – speciální příkaz, který zobrazuje postup zpracování SQL příkazů. Pomáhá
uživateli optimalizovat příkazy tak, aby byly rychlejší
7. SHOW – méně častý příkaz, umožňující zobrazit DB, tabulky nebo jejich definice
Ostatní příkazy
Slouží pro správu DB
Příklad:
Přidávání uživatele DB
Nastavení časové zóny
Vypnutí AUTO_INCREMENTu
A mnoho dalších…
Komentáře
SQL podporuje i komentáře
MySQL podporuje následující komentáře:
Jednořádkový
Před komentářem –
-- Tohle je komentář
Víceřádkový
Před komentář /*
Za komentář */
/* Tohle je komentář */
Konverze dat
Konverze znamená převod informace do jiného zobrazení
Zejména převod do jiného kódu, formátu nebo jiné číselné soustavy
Příklad:
Z BIN2 do HEX16
Z JAVY do C#
U MySQL funkce:
CONVERT(data_type(length), expression, style)
SELECT CONVERT(varchar, 25.65);
SELECT CAST(varchar AS 25.65);
Funkce
Funkce je pojmenovaný blok kódu
Uložený na serveru
Zkompilovaný pro rychlejší použití
Na rozdíl od procedury vrací hodnotu
Jsou UDFs (definovány uživatelem) a BIFs (vestavěné)
Příklad:
SCALAR FUNCTION (20, 19.8.2014, "Jmeno")
TABLE-VALUED FUNCTION (tabulka, nebo řádek tabulky)
Vytvoření funkce
Vytvoření procedury
DELIMITER //
CREATE PROCEDURE nazev(param) [IN, OUT, INOUT]
BEGIN
DECLARE prom dat_typ DEFAULT hodnota
Příkazy SQL;
END//
DELIMITER ;
NULL funkce
Může se stát, že výraz SELECT nevrátí žádný řádek – vrátí hodnotu NULL
Můžeme otestovat a předejít pomocí 2 funkcí
IFNULL
IFNULL(první_výraz,druhý_výraz)
vrátí první neNULLový výraz
SELECT IFNULL (0,2) – vrátí 0
SELECT ProductName, UnitPrice * (UnitsInStock +
IFNULL(UnitsOnOrder, 0))
FROM Products
ISNULL
ISNULL(výraz)
Otestuje, zda je výraz NULL
Pokud ISNULL(výraz) == NULL vrací hodnotu 1
Pokud ISNULL(výraz) != NULL vrací hodnotu 0
Propojování tabulek
K propojování tabulek slouží příkaz JOIN
Propojení tabulek na základě 1 či více parametrů, například ID
4 typy spojení tabulek:
INNER JOIN
OUTER JOIN
RIGHT JOIN
LEFT JOIN
Pokud napíšeme pouze JOIN, tak ho DB pokládá za INNER JOIN
Podmínky
WHERE
Používá se pro filtrování záznamů
Získávání specifických záznamů, které splňují určitou podmínku
Podmínek může být více
IF ELSE
CASE
Projede podmínky a vrátí první hodnotu za podmínkou, která je splněna