Minule jsme se zastavili u vytváření tabulek prostřednictvím příkazu Create Table, dnes se podíváme na některé další příkazy použití příkazu Create. Konkrétně na vytváření databází, pohledů či indexů. Dále vždy předpokládáme, že k vytvoření příslušných objektů má vytvářející příslušná oprávnění.
Na vývoji jazyka SQL se postupem času podílela řada firem.Jak už jsme psali v úvodním díle našeho speciálu věnovaného SQL, budeme vycházet ze syntaxe příkazů tak, jak jsou implementovány v oblíbeném databázovém systému MySQL; nicméně většina zde uvedených informací platí pro jazyk SQL obecně, nezávisle na implementaci.
A ještě ke způsobu zápisu syntaxe: Příkazy v hranatých závorkách jsou volitelné, použít je tedy lze, ale nejsou nezbytné.
Příkazem Create lze rovněž vytvořit novou databázi. CREATE DATABASE [IF NOT EXISTS] jmeno_db [specifikace] vytvoří databázi příslušného jména – jmeno_db. Použít lze rovněž synonyma CREATE SCHEMA. V případě, že databáze již existuje a není použit modifikátor IF NOT EXISTS, je výsledkem operace chyba.
Jako dodatečné specifikace databáze lze užít definice datové sady CHARACTER SET [=] jmeno_sady a způsob řazení COLLATE [=] způsob_razeni.
Jako příklad lze uvést příkaz: CREATE DATABASE db_name CHARACTER SET latin1 COLLATE latin1_general_cs.
Jak už bylo zmíněno dříve, příkazem Create lze vytvářet nejen databáze a tabulky, byť to jsou zřejmě nejčastější případy, ale také další objekty databáze. Výraz CREATE FUNCTION umožňuje například vytvářet uložené funkce (stored functions) a uživatelsky definované funkce (UDF), CREATE VIEW vytváří pohledy a CREATE INDEX indexy.
Právě u posledně jmenované varianty se zastavíme, protože jde rovněž o příkaz, který se často hodí už v počátcích práce s SQL databází. U jednotlivých tabulek lze indexy snadno definovat ručně v příslušném nástroji pro správu, při větším množství tabulek už ale s výhodou využijete právě příkazu CREATE INDEX. Jak si ukážeme ještě v dalších dílech tohoto speciálu, nejde ale o jedinou možnost.
Základní syntaxe příkazu vypadá takto: CREATE [ONLINE|OFFLINE] [UNIQUE|FULLTEXT|SPATIAL] INDEX jmeno_indexu [index_type] ON jmeno_tabulky (index_sloupec,...) [index_volby]. V praxi to pak může vypadat třeba takto: CREATE INDEX ijmeno ON zakaznici (jmeno) – vytvoří index ijmeno nad tabulkou zakaznici, sloupcem jmeno. Nebo o poznání složitější případ CREATE INDEX část_jmena ON zakaznici (jmeno(10)) vytvoří podobný index, který ovšem bere v úvahu jen prvních deset znaků sloupce jmeno.
Tímto máme tedy základy příkazu Create za sebou a příště se zase můžeme vydat o kus dále.
Jazyk SQL (z anglického Structured Query Language) asi není třeba dlouze představovat: Řada uživatelů počítačů jej zná z desktopových databází...