Příkazy jazyka SQLPříkazy jazyka SQL obecně umožňují úplnou kontrolu nad systémem řízení báze dat. Podle svého účelu se dělí do následujících skupin: Příkazy pro manipulaci s datyNa tuto kapitolu je přesměrováno heslo Data Manipulation Language.
Jsou to příkazy pro získání dat z databáze a pro jejich úpravy. Označují se zkráceně DML – Data Manipulation Language („jazyk pro manipulaci s daty“).
Příkazy pro definici datNa tuto kapitolu je přesměrováno heslo Data Definition Language.
Těmito příkazy se vytvářejí struktury databáze – tabulky, indexy, pohledy a další objekty. Vytvořené struktury lze také upravovat, doplňovat a mazat. Tato skupina příkazů se nazývá zkráceně DDL – Data Definition Language („jazyk pro definici dat“). Příkazy pro řízení datNa tuto kapitolu jsou přesměrována hesla Data Control Language a Transaction Control Commands.
Do této skupiny patří příkazy pro nastavování přístupových práv a řízení transakcí. Označují se jako DCL – Data Control Language („jazyk pro ovládání dat“), někdy také TCC – Transaction Control Commands („jazyk pro ovládání transakcí“).
Ostatní příkazyDo této skupiny patří příkazy pro správu databáze. Pomocí nich lze přidávat uživatele, nastavovat systémové parametry (kódování znaků, způsob řazení, formáty data a času apod.). Tato skupina není standardizována a konkrétní syntaxe příkazů je závislá na databázovém systému. V některých dialektech jazyka SQL jsou přidány i příkazy pro kontrolu běhu, takže lze tyto dialekty zařadit i mezi programovací jazyky.
SET NAMES utf8; -- nastaví jako kódování UTF-8
SET foreign_key_checks=0; -- vypne kontrolu cizích klíčů
SET time_zone="SYSTEM"; -- nastaví časovou zónu
SET sql_mode="NO_AUTO_VALUE_ON_ZERO"; -- vypne automatické doplňování hodnoty primárního klíče s příznakem AUTO_INCREMENT
Dotazování datSyntaxe jednoduchého SQL dotazu do tabulky a logické zpracování datPokud se chceme dotázat SQL skriptem do nějaké tabulky pro určitá data, tak kromě zmíněného DML příkazu SELECT využíváme tzv klauzule. Mezi tyto klauzule patří
Příkaz SELECT a tyto klauzule musejí být zadány v určitém pořadí. Je ale velký rozdíl mezi tím, jak se skript správně píše a mezí tím, jak je poté ve skutečnosti zpracováván. Syntaxe SQL dotazu
Logické zpracování dotazu[1]Výše uvedené si lze jednoduše otestovat tak, že bychom do WHERE klauzule napsali podmínku Alias_1 like ('%text%'). SQL engine by nám nebyl schopen vrátit výsledek a skript by skončil chybou. Důvodem je to, že v momentě kdy se zpracovává WHERE klauzule, tak ještě alias nezná (SELECT se zpracovává až za WHERE). KomentářeDo kódu SQL lze ve všech hlavních databázích zapisovat i komentáře. Prakticky všechny z nich podporují jednořádkové komentáře, některé i víceřádkové. Jednořádkové bývají uvozeny znaky jako -- jednořádkový komentář. SELECT "tento příkaz se nevykoná";
/* více-
-řádkový
komentář */ SELECT "tento příkaz se vykoná.";
Např. MySQL využívá tento typ komentářů k vkládání kódu specifického pro tento typ databáze, s tím, že specifický kód je umístěn mezi /*!40101 SET NAMES utf8 */;
CREATE /*!32302 TEMPORARY */ TABLE t (a INT);
SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2 WHERE table1.col1=5;
Je-li takovýto kód spuštěn v jiném databázovém prostředí, je vnitřek komentáře ignorován (můžeme hovořit o kompatibilitě s ostatními implementacemi SQL). Reference
|
Portal di Ensiklopedia Dunia