MySQL - Datové typy v MySQL
Rozcestník:
Celá čísla
BOOL a BIT
stejné jako TINYINT(1)
TINYINT
- rozsah hodnot u čísla se znaménkem je od -128 do +127
- rozsah hodnot u čísla bez znaménka je 0 až 255
SMALLINT
- rozsah hodnot u čísla se znaménkem je od -32768 do 32767
- rozsah hodnot u čísla bez znaménka je 0 až 65535
MEDIUMINT
- rozsah hodnot u čísla se znaménkem je od -8388608 do +8388607
- rozsah hodnot u čísla bez znaménka je 0 až 16777215
INT nebo INTEGER
- rozsah hodnot u čísla se znaménkem je od -2147483648 do +2147483647
- rozsah hodnot u čísla bez znaménka je 0 až 4294967295
BIGINT
- rozsah hodnot u čísla se znaménkem je od -9223372036854775808 do +9223372036854775807
- rozsah hodnot u čísla bez znaménka je 0 až 18446744073709551615
Čísla s plovoucí desetinou čárkou
FLOAT
- rozsah hodnot u čísla se znaménkem je od -3.402823466E+38 do 3.402823466E+38
DOUBLE, DOUBLE PRECISION, REAL
- rozsah hodnot u čísla se znaménkem je od -1.7976931348623157E+308 do 1.7976931348623157E+308
DECIMAL(a,b), DEC(a,b), NUMERIC(a,b)
- nastavitelý rozsah pomocí parametrů a, b
- rozsah hodnot u čísla se znaménkem je od -1.7976931348623157E+308 do 1.7976931348623157E+308
Řetězce
CHAR(a)
- délka řetězce je v rozsahu 0-255 znaků
- CHAR() = CHAR(1)
VARCHAR(a), TINYBLOB, TINYTEXT
- délka řetězce je v rozsahu 0-255 znaků
BLOB, TEXT
- délka řetězce je v rozsahu 0-65535 znaků
MEDIUMBLOB, MEDIUMTEXT
- délka řetězce je v rozsahu 0-16777215 znaků
LONGBLOB, LONGTEXT
- délka řetězce je v rozsahu 0-4294967295 znaků
ENUM('prvek1','prvek2','prvek3',..)
- pole řetězců
- délka jednoho z řetězců je v rozsahu 0-65535 znaků
- indexace: názvem, nebo pořadím prvku
- v buňce tabulky může být jen jeden prvek
SET('prvek1','prvek2','prvek3',..)
- pole řetězců, maximálně 64
- v buňce tabulky může být více prvků
Datum a čas
DATE
- datum a čas v rozsahu 1000-01-01 až 9999-12-31
- datum ve formátu "rok-měsíc-den"
DATETIME
- datum a čas v rozsahu 1000-01-01 00:00:00 až 9999-12-31 23:59:59
- formát je "RRRR-MM-DD HH:MM:SS"
TIMESTAMP(a)
- datum a čas v rozsahu 1970-01-01 00:00:00 až 2037-01-01 00:00:00
- formáty:
- "RRRRMMDDHHMMSS" = parametr a = 14
- "RRMMDDHHMMSS" = parametr a = 12
- "RRMMDDHHMM" = parametr a = 10
- "RRRRMMDD" = parametr a = 8
- "RRMMDD" = parametr a = 6
- "RRMM" = parametr a = 4
- "RR" = parametr a = 2
TIME
- čas v rozsahu -838:59:59 až 838:59:59l
- čas ve formátu "HH:MM:SS"
YEAR(a)
- rozsah dle parametru a
- a = 4, rozsah 1901 až 2155
- a = 2, rozsah 1970 až 2069
- čas ve formátu "RRRR"
MySQL - Modifikátory
Modifikátory jsou klíčová slova upravující chování jednotlivých sloupců.
| Nazev modifikátoru | Popis | Použití |
| AUTO_INCREMENT | Při vložení nového záznamu zvýší unikátní číslo o jedna. | všechny celočíselné typy |
| BINARY | Umožní uložení řetězců jako binární řetězce. Rozlišují se velikosti písmen. | char, varchar |
| DEFAULT | Pokud nic neuložíte do buňky, nastaví se hodnota buňky na zvolenou defaultní hodnotu. | všechny typy, kromě text a blob |
| NOT NULL | Buňka musí obsahovat hodnotu | všechny typy |
| NULL | Buňka může obsahovat hodnotu NULL | všechny typy |
| PRIMARY KEY | Hodnota buňky jedinečně určuje záznam. Nesmí obsahovat hodnotu NULL, musí mít jedinečný index. | všechny typy |
| UNIQUE | Buňka nesmí obsahovat duplicitní hodnoty. | všechny typy |
| UNSIGNED | Číselná hodnota bez znaménka. Rozsah posunut do kladných hodnot. | číselné typy |
| ZEROFILL | Používá se u čísel, kde chcete zobrazit nuly v celé šířce rozsahu čísla. | číselné typy |