Datové typy v MySQL

V několika předcházejících článcích jsme se naučili příkazy sloužící k základní administraci vytvořené databáze. Nyní se podrobněji zaměříme na vkládání reálných dat. Ovšem k tomu, abychom tento krok mohli provést, musíme si nejprve vytvořit vlastní tabulku. A právě zde přichází na řadu znalost datových typů určujících jednotlivé sloupce. Zmíníme i užitečný modifikátor unsigned.

Čísla

U těchto typů údajů je vhodné si promyslet, zda-li potřebujete rozsah zahrnující i záporné hodnoty. V případě nejrůznějších identifikátorů totiž plně vystačíte pouze s kladnými čísly, díky čemuž získáte dvojnásobnou kapacitu. Pochopitelně se vždy snažte použít datový typ, který plně odpovídá skutečným potřebám. Takovým přístupem totiž získáte databázi, která nebude zbytečně na disku zabírat velký prostor. Doporučuje se rovněž některé sloupce mírně nadimenzovat, aby později nedocházelo k problémům se zápisem. Pro evidenci zaměstnanců v malé firmě například plně postačí unsigned tinyint, jinak však tomu bývá u webového portálu s otevřenou registrací. Zde se rozhodně vyplatí myslet dopředu.

Název Základní rozsah Rozsah při použití unsigned paměť (v bajtech)
tinyint -128 až 127 0 až 255 1
smallint -32768 až 32767 0 až 65535 2
mediumint -8388608 až 8388607 0 až
16777215
3
int -2147483648 až 2147483647 0 až 4294967295 4
bigint -9223372036854775808 až 9223372036854775807 0 až 18446744073709550615 8

Pro desetinná čísla slouží typy float, double a decimal. Jejich konkrétní rozsah však závisí na použitých hodnotách.

Text

Textové řetězce v databázi tvoří jednu z nejčastějších položek. Za zmínku rozhodně stojí rozdíl mezi typy var a varchar. Zatímco u první zmíněné možnosti zabírá údaj pevně dané místo, u té druhé pouze počet skutečně použitých znaků navýšený o jeden bajt uchovávající údaj o celkové délce. Char proto používejte u hodnot, které nemění svoji délku (např. státní poznávací značka). Varchar naopak své uplatnění najde u adres či jmen.

Název Maximální velikost
varchar 255 bajtů
char 255 bajtů
tinytext 255 bajtů
text 65535 bajtů
mediumtext 1,6 megabajtů
longtext 4,2 gigabajtů

Tímto jsme probrali nejzákladnější datové typy v MySQL. V příštím článků přijde na řadu ukládání data, času a hodnot typu true/false (boolean). Společně se rovněž naučíme vkládat údaje získané ze zaškrtávacích políček (checkbox).

O Ondřej Směták

Student, který se intenzivně zajímá o oblast IT a to především z pohledu webmastera a programátora GUI aplikací.