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)


Následující článek: >>> MySQL: Další příklady použití příkazu Create >>>

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

Jazyk SQL v kostce: Od Select po Commit


Příkazy jazyka SQL lze rozdělit do několika skupin, podle toho, co je jejich účelem.

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í a snad všichni, kdo se někdy zabývali tvorbou webu, jej pak používají pro propojení skriptovacího jazyka stránek – nejčastěji PHP – s backendovou databází – nejčastěji MySQL. Pojďme se tedy společně podívat jak na základy, tak na některá zákoutí SQL.



Komentáře, názory a rady

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

>>> Číst a vkládat komentáře <<<

Tip - Konference: Mobilní řešení pro byznys - 21.9.2017!


Otázky a odpovědi z IT: Diskusní portál Bizio.cz
Pozoruhodné IT produkty pro rok 2017 - Nové
Věříme, že v tomto přehledu pozoruhodných produktů najdete ty, které vám pomohou ve vaší práci v IT.

Pozoruhodné IT produkty pro rok 2017
Věříme, že v tomto přehledu pozoruhodných produktů najdete ty, které vám pomohou ve vaší práci v IT.




Anketa


©2011-2017 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
Používáme účetní program Money S3
O vydavateli | Pravidla webu BusinessIT.cz a ochrana soukromí | pg(1519)