Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Datové typy v MySql

Datový typ Délka Popis
TINYINT 1 byte Rozsah od -128 do +127 (bez znaménka: od 0 do 255)
SMALLINT 2 bytes Rozsah od -32 768 do +32 767 (bez znaménka: od 0 do 65 535)
MEDIUMINT 3 bytes Rozsah od -8 388 608 do +8 388 607 (bez znaménka: od 0 do 16 777 215)
INT,INTEGER 4 bytes Rozsah od -2 147 483 648 do +2 147 483 647 (bez znaménka: od 0 do 4 294 967 295)
BIGINT 8 bytes Rozsah od -9 223 372 036 854 775 808 do +9 223 372 036 854 775 807 (bez znaménka: od 0 do 18 446 744 073 709 551 615)
BIT, BOOL 1 byte synonymum pro TINYINT(1)
FLOAT   Rozsah od -3.402823466E+38 do +3.402823466E+38
DOUBLE   Rozsah od -1.7976931348623157E+308 do +1.7976931348623157E+308
DOUBLE PRECISION, REAL   synonyma pro typ DOUBLE
DECIMAL(m,d), DEC(m,d), NUMERIC(m,d   rozsah nastaví parametry "m" a "d", maximální rozsah je stejný s typem DOUBLE
DATE '0000-00-00' datum ve formátu "rok-měsíc-den" respektive "RRRR-MM-DD". Rozsah od 1000-01-01 do 9999-12-31
DATETIME '0000-00-00 00:00:00' datum a čas. Rozsah od 1000-01-01 00:00:00 do 9999-12-31 23:59:59 (format = "RRRR-MM-DD HH:MM:SS")
TIMESTAMP(n) '0000-00-00 00:00:00'
- datum a čas v rozsahu od 1970-01-01 00:00:00 do 2037-01-01 00:00:00 (vždy se ukládá všech 14 čísel !)
- formát zobrazení (a pro dotazy) provedeme parametrem "m" s hodnotou 14 (nebo chybějící), 12, 10, 8, 6, 4, či 2
- "RRRRMMDDHHMMSS", "RRMMDDHHMMSS", "RRMMDDHHMM", "RRRRMMDD", "RRMMDD", "YYMM", "YY"
- pokud do buňky tohoto typu nic nezapíšeme MySQL sám doplní aktuální čas změny v daném řádku
TIME '00:00:00' časový rozsah je od "-838:59:59" do "838:59:59" a formát datového typu "HH:MM:SS"
YEAR(n) 0000 při YEAR(4) bude rozsah od 1901 do 2155, formát je "RRRR", při YEAR(2) bude rozsah od 1970 do 2069
CHAR(m)  
- délka řetězce "m" může být v rozsahu od 0 do 255
- pokud je vložený řetězec kratší než nastavíme, chybějící znaky jsou automaticky doplněny mezerami (má tedy "pevnou" velikost)
- CHAR (tedy bez "m") je považováno za CHAR(1)
VARCHAR(m)  
- délka řetězce "m" může být v rozsahu od 0 do 255
- pokud je vložený řetězec kratší než nastavíme, chybějící znaky se nedoplňují (má tedy "plovoucí" velikost), ale navíc se ukládá informace o jeho délce
TINYBLOB, TINYTEXT   délka řetězce je maximálně 255 znaků
BLOB, TEXT   délka řetězce je maximálně 65 535 znaků
MEDIUMBLOB, MEDIUMTEXT   délka řetězce je maximálně 16 777 215 znaků
LONGBLOB, LONGTEXT   délka řetězce je maximálně 4 294 967 295 znaků
ENUM('item1','item2',...)  
- pole předem definovaných řetězců (itemů) o maximálním počtu 65 535
- v buňce tabulky pak může být pouze jeden z itemů, které jsou předdefinované
- místo názvů 'item' můžeme používat i jejich pořadí, tedy: 1 (místo 'item1'), 2 (místo 'item2')...
SET('item1','item2',...)  
- pole předem definovaných řetězců (itemů) o maximálním počtu 64
- v buňce tabulky pak může být i více z itemů, které jsou předdefinované
 
Viz dev.mysql.com/doc/refman/5.6/en/data-types.html, www.junext.net/mysql/.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice