O nás     Inzerce     KontaktSpolehlivé informace o IT již od roku 2011
Hledat
Nepřehlédněte: 2. kolo: Pozoruhodné IT produkty 2020
Správa dokumentů
Digitální transformace
Informační systémy
Hlavní rubriky: Informační systémy, Mobilní technologie, Datová centra, Sítě, IT bezpečnost, Software, Hardware, Zkušenosti a názory, Speciály

Pozoruhodné IT produkty 2020
E-knihy o IT zdarma
Odborné IT konference BusinessIT
Manuál Linux

MySQL: Příkaz Create Table

SQL příkaz CREATE slouží pro vytváření nových objektů v databázi, konkrétně například tabulek. Právě na to, jak se vytvářejí tabulky s příslušnými sloupci/atributy se v tomto příspěvku podíváme. Pojďme tedy společně namířit zraky na syntaxi CREATE TABLE.

Jazyk SQL vznikl v 70. letech minulého století a od té doby se rozvíjel.
Jazyk SQL vznikl v 70. letech minulého století a od té doby se rozvíjel.
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é.

Vytváříme tabulku

Základní syntaxe příkazu CREATE při vytváření tabulky vypadá takto:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_options]

Klíčovým slovem TEMPORARY můžete, jak už název napovídá, vytvořit dočasnou tabulku, která je viditelná pouze při aktuálním spojení. K jejímu vytvoření musíte mít příslušná práva.

Klíčová slova/podmínka IF NOT EXISTS znamená, že tabulka je vytvořena, pokud již neexistuje – zabrání se tedy případnému hlášení chyby, pokud tabulka stejného jména již existuje. Pozor: Nekontroluje se, zda je shodná také struktura tabulky.

Za jménem tabulky následuje její definice, resp. definice sloupců (atributů), následujíc volitelné parametry tabulky a parametry pro partitions (pokud je vaše verze databáze podporuje, jsou povoleny a vy je používáte).

A teď už konkrétní příklad použití MYSQL příkazu CREATE TABLE, který může vypadat třeba takto:

CREATE TABLE IF NOT EXISTS tabulka (id INT, jmeno CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin, vek INT, narozen DATE, PRIMARY KEY (id) ) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin

Vytvořena bude tabulka s názvem tabulka se sloupcem (atributem) id typu int, jmeno typu char délky 20 znaků (pozor, u starších verzí MySQL před 4.1 jde o počet bajtů), vek typu int a narozen typu date. Primárním klíčem je sloupec id, použitý engine bude InnoDB, kódování ve znakové sadě utf8 a řazení dle utf8_bin.

Datové typy

Jako datové typy sloupců máte v MySQL k dispozici možnosti: TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT (celočíselné hodnoty i s možností UNSIGNED, tedy bez znaménka), REAL, DOUBLE, FLOAT, DECIMAL, DATE, TIME, TIMESTAMP, DATETIME, YEAR, CHAR, VARCHAR (u znakových proměnných s možností výběru znakové sady a řazení), BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT (u textových proměnných opět s možností výběru znakové sady a řazení), ENUM a SET (s vypsanými hodnotami).

Z volitelných parametrů stojí za zmínku určitě ještě alespoň AUTO_INCREMENT pro automatické zvyšování hodnoty atributu při vložení nového řádku.

Na závěr

Velkou výhodou aktuální situace je fakt, že díky nástrojům, jako je phpMyAdmin se je možné příkazům SQL při tvorbě řady aplikací z velké části vyhnout – třeba při vytváření tabulek – a při psaní php kódu pak v jednoduchých případech s výhodou využít SQL příkazů generovaných přímo phpMyAdmin. Lze se tak vyhnout pročítání dokumentace – alespoň do chvíle, než narazíte na náročnější konstrukce. Začátky práce s SQL databázemi ale dostupné nástroje bezesporu výrazně usnadňují.


(26. 8. 2013 | redakce2)


Tento článek je součástí speciálu:

Jazyk SQL v kostce: Od Select po Commit

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í...


Facebook Twitter
Komentáře, názory a rady

Zatím sem nikdo nevložil žádný komentář. Buďte první...

>>> Číst a vkládat komentáře <<<
©2011-2020 BusinessIT.cz, ISSN 1805-0522 | Názvy použité v textech mohou být ochrannými známkami příslušných vlastníků.
Provozovatel: Bispiral, s.r.o., kontakt: BusinessIT(at)Bispiral.com | Inzerce: Best Online Media, s.r.o., zuzana@online-media.cz
O vydavateli | Pravidla webu BusinessIT.cz a ochrana soukromí | pg(1519)