K čemu slouží datové typy

Každý atribut tabulky je určen datovým typem, který definuje, jaká data budeme moci do pole vkládat (text, čísla, datum...). Níže je uvedeno několik základních typů, které můžete při tvorbě MySQL databáze využívat. Je vhodné používat datové typy, které se nejvíce hodí našim potřebám (pro malá čísla použít datový typ s malým rozsahem atd.).

Číselné datové typy

Pokud budeme chtít s daty počítat, nebo pracovat s čísly, volíme vždy číselný datový typ. MySQL rozlišuje několik základních datových typů pro čísla, která umí pracovat jak s celými čísly, tak s desetinným číslem. Z tohoto důvodu je dobré si předem promyslet, zda v naši tabulce budeme potřebovat číslo desetinné. Různé číselné datové typy mají různý rozsah, který můžeme využít. Pokud se nepotřebujeme používat záporné hodnoty, je možné využít atribut UNSIGNED, který znemožní používat záporné hodnoty a u celočíselných typů zdvojnásobí rozsah kladných hodnot.

  • TINYINT - velmi malá celá čísla v rozsahu −128 až 127 (0 až 255 pro UNSIGNED)
  • SMALLINT - malá celá čísla v rozsahu −32768 až 32767 (0 až 65535 pro UNSIGNED)
  • MEDIUMINT - středně velká celá čísla v rozsahu −8388608 až 8388607 (0 až 16777215 pro UNSIGNED)
  • INT - běžně velká celá čísla v rozsahu −2147483648 až 2147483647 (0 až 4294967295 pro UNSIGNED)
  • BIGINT - velká celá čísla v rozsahu −9223372036854775808 až 9223372036854 (0 až 18446744073709551615 pro UNSIGNED)
  • FLOAT - malá čísla v pohyblivé řádové čárce, nejmenší nenulové hodnoty jsou ±1,175494351E−38; největší nenulové hodnoty jsou −±3,402823466E+38 (Je-li sloupec UNSIGNED, jsou záporné hodnoty zakázané.)
  • DOUBLE - velká čísla v pohyblivé řádové čárce, nejmenší nenulové hodnoty jsou ±2,2250738585072014E-308; největší nenulové hodnoty jsou −±1,17976931348623157E+308 (Je-li sloupec UNSIGNED, jsou záporné hodnoty zakázané.)

Řetězcové typy

Řetězcové datové typy se používají pro ukládání textových řetězců. Stejně jako u číselných datových typů, tak i řetězcové mají přesně danou maximální délku. Proto je opět důležité se při návrhu tabulky zamyslet nad tím, jaký datový typ zvolit a předešli tak případným problémům.

  • CHAR - řetězec pevně dané délky do 255 znaků (kratší řetězec se doplní mezerami)
  • VARCHAR - řetězec pevně dané délky do 255 znaků
  • TINYTEXT - malá hodnota TEXT - 0 až 255 bajtů (+1 bajt pro zaznamenání délky)
  • TEXT - normální hodnota TEXT - 0 až 65535 bajtů (+2 bajty pro zaznamenání délky)
  • MEDIUMTEXT - středně velká hodnota TEXT -0 až 16777215 bajtů (+3 bajty pro zaznamenání délky)
  • LONGTEXT - velká hodnota TEXT - 0 až 4294967295 bajtů (+4 bajty pro zaznamenání délky)

Datum a čas

Často v databázi potřebujeme uchovat a pracovat s datem, příp. časem. Pro tyto případy MySQL nabízí několik datových typů. Datum a čas lze ukládat do společného atributu, případně každý zvlášť. S takto uloženým datem poté můžeme různě pracovat. Pomocí parametru CURRENT_TIMESTAMP můžeme vkládat aktuální datum.

  • DATE - datum ve formátu 'CCYY-MM-DD' (3 bajty)
  • TIME - čas ve formátu ±'hh:mm:ss'; reprezentuje uplynulý čas, příp. čas dne (3 bajty)
  • DATETIME - datum a čas ve formátu 'CCYY-MM-DD hh:mm:ss' (8 bajtů)

Prázdná hodnota (NULL)

Jestliže se ve sloupci záznamu nachází prázdná hodnota NULL, znamená to, že v něm nic není (hodnota reprezentující stav "nezadáno" nebo "neznámé"). To, zda sloupec smí nebo nesmí tuto hodnotu obsahovat, je možné definovat při návrhu tabulky.

Vytvořte si webové stránky zdarma! Tento web je vytvořený pomocí Webnode. Vytvořte si vlastní stránky zdarma ještě dnes! Vytvořit stránky