You are on page 1of 5

Database programming

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

DDL (Data Definition Language)


 Příkazy pro vytvoření struktury DB
1. CREATE – vytváření nových objektů
2. ALTER – změny existujících objektů
3. DROP – odstranění objektů

DCL (Data Control Language)


 Někdy též TCC (Transaction Control Commands)
 Příkazy pro nastavování přístupových práv a řízení transakcí
1. GRANT – příkaz pro přidělení oprávnění uživateli k určitým objektům
2. REVOKE – příkaz pro odnětí práv uživateli
3. START TRANSACTION – zahájení transakce
4. COMMIT – potvrzení transakce
5. ROLLBACK – zrušení transakce

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

CREATE FUNCTION nazev(param) [IN, OUT, INOUT]


RETURNS dat_typ
BEGIN
DECLARE prom dat_typ DEFAULT hodnota
Příkazy SQL;
RETURN hodnota;
END;

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

Operátory pro podmínky


 AND, && a zároveň, musí být splněny obě podmínky
 OR, || nebo, jedna z podmínek je pravdivá
 = rovná se, podmínky se rovnají
 <, <= menší, menší nebo rovno
 >, >= větší, větší nebo rovno
 MOD, % modulo
 NOT, ! negace
 <>, != nerovnost
 LIKE pro porovnání řetězců
 %a – řetězec končí na „a“
 %a% – řetězec obsahuje „a“
 a% – řetězec začíná na „a“

IF ELSE

CASE
 Projede podmínky a vrátí první hodnotu za podmínkou, která je splněna

You might also like