Datové typy se používají k vyjádření povahy dat, která lze uložit do databázové tabulky. Například v konkrétním sloupci tabulky, pokud chceme uložit data typu řetězec, budeme muset deklarovat datový typ řetězce tohoto sloupce.
Datové typy jsou pro každou databázi rozděleny do tří kategorií.
- Řetězec Datové typy
- Číselné datové typy
- Datum a čas Typy dat
Datové typy v MySQL, SQL Server a Oracle Database
MySQL datové typy
Seznam datových typů používaných v databázi MySQL. To je založeno na MySQL 8.0.
Datové typy řetězců MySQL
CHAR(velikost) | Používá se k určení řetězce pevné délky, který může obsahovat čísla, písmena a speciální znaky. Jeho velikost může být 0 až 255 znaků. Výchozí hodnota je 1. |
VARCHAR(velikost) | Používá se k určení řetězce proměnné délky, který může obsahovat čísla, písmena a speciální znaky. Jeho velikost může být od 0 do 65535 znaků. |
BINÁRNÍ (velikost) | Je roven CHAR(), ale ukládá binární bajtové řetězce. Jeho parametr size udává délku sloupce v bajtech. Výchozí hodnota je 1. |
VARBINARY (velikost) | Je roven VARCHAR(), ale ukládá binární bajtové řetězce. Jeho parametr size udává maximální délku sloupce v bajtech. |
Velikost textu) | Obsahuje řetězec, který může obsahovat maximální délku 255 znaků. |
TINYTEXT | Obsahuje řetězec o maximální délce 255 znaků. |
STŘEDNÍ TEXT | Drží strunu o maximální délce 16 777 215. |
LONGTEXT | Obsahuje řetězec o maximální délce 4 294 967 295 znaků. |
ENUM(hodnota1; hodnota2; hodnota3;...) | Používá se, když má řetězcový objekt pouze jednu hodnotu vybranou ze seznamu možných hodnot. Obsahuje 65535 hodnot v seznamu ENUM. Pokud vložíte hodnotu, která není v seznamu, bude vložena prázdná hodnota. |
SET( hodnota1, hodnota2, hodnota3,....) | Používá se k určení řetězce, který může mít 0 nebo více hodnot vybraných ze seznamu možných hodnot. V seznamu SET můžete uvést až 64 hodnot najednou. |
BLOB (velikost) | Používá se pro BLOB (binární velké objekty). Může pojmout až 65 535 bajtů. |
Číselné datové typy MySQL
BIT (velikost) | Používá se pro typ bitové hodnoty. Počet bitů na hodnotu je určen velikostí. Jeho velikost může být 1 až 64. Výchozí hodnota je 1. |
INT(velikost) | Používá se pro celočíselnou hodnotu. Jeho rozsah se znaménkem se pohybuje od -2147483648 do 2147483647 a rozsah bez znaménka se pohybuje od 0 do 4294967295. Parametr size určuje maximální šířku displeje, která je 255. |
INTEGER(velikost) | Je roven INT (velikost). |
FLOAT(velikost; d) | Používá se k určení čísla s plovoucí desetinnou čárkou. Parametr velikost udává celkový počet číslic. Počet číslic za desetinnou čárkou je určen d parametr. |
FLOAT (p) | Používá se k určení čísla s plovoucí desetinnou čárkou. MySQL použil parametr p k určení, zda použít FLOAT nebo DOUBLE. Pokud je p mezi 0 až 24, datovým typem se stane FLOAT (). Pokud je p od 25 do 53, datový typ se změní na DOUBLE(). |
DOUBLE (velikost; d) | Je to číslo s pohyblivou řádovou čárkou normální velikosti. Parametr velikost udává celkový počet číslic. Počet číslic za desetinnou čárkou je určen parametrem d. |
DECIMAL(velikost; d) | Používá se k určení čísla pevného bodu. Parametr velikost udává celkový počet číslic. Počet číslic za desetinným parametrem je určen pomocí d parametr. Maximální hodnota pro velikost je 65 a výchozí hodnota je 10. Maximální hodnota pro d je 30 a výchozí hodnota je 0. |
DEC(velikost; d) | Je rovna DECIMAL (velikost, d). |
BOOL | Používá se k určení booleovských hodnot true a false. Nula je považována za nepravdivou a nenulové hodnoty jsou považovány za pravdivé. |
MySQL datové typy data a času
DATUM | Používá se k určení formátu data RRRR-MM-DD. Jeho podporovaný rozsah je od '1000-01-01' do '9999-12-31'. |
DATETIME (fsp) | Používá se k určení kombinace data a času. Jeho formát je RRRR-MM-DD hh:mm:ss. Jeho podporovaný rozsah je od '1000-01-01 00:00:00' do 9999-12-31 23:59:59'. |
TIMESTAMP(fsp) | Používá se k určení časového razítka. Jeho hodnota je uložena jako počet sekund od epochy Unixu ('1970-01-01 00:00:00' UTC). Jeho formát je RRRR-MM-DD hh:mm:ss. Jeho podporovaný rozsah je od '1970-01-01 00:00:01' UTC do '2038-01-09 03:14:07' UTC. |
ČAS (fsp) | Slouží k určení formátu času. Jeho formát je hh:mm:ss. Jeho podporovaný rozsah je od '-838:59:59' do '838:59:59' |
ROK | Používá se k určení roku ve čtyřmístném formátu. Povolené hodnoty ve čtyřmístném formátu od 1901 do 2155 a 0000. |
SQL Server datové typy
Typ dat řetězce SQL Server
char(n) | Jedná se o datový typ znakového řetězce s pevnou šířkou. Jeho velikost může být až 8000 znaků. |
varchar(n) | Jedná se o datový typ řetězce znaků s proměnnou šířkou. Jeho velikost může být až 8000 znaků. |
varchar(max) | Jedná se o datové typy řetězce znaků s proměnnou šířkou. Jeho velikost může být až 1 073 741 824 znaků. |
text | Jedná se o datový typ řetězce znaků s proměnnou šířkou. Jeho velikost může být až 2 GB textových dat. |
nchar | Jde o datový typ řetězce Unicode s pevnou šířkou. Jeho velikost může být až 4000 znaků. |
nvarchar | Jedná se o datový typ řetězce Unicode s proměnnou šířkou. Jeho velikost může být až 4000 znaků. |
ntext | Jedná se o datový typ řetězce Unicode s proměnnou šířkou. Jeho velikost může být až 2 GB textových dat. |
binární(n) | Jedná se o datový typ Binary string s pevnou šířkou. Jeho velikost může být až 8000 bajtů. |
varbinární | Jedná se o datový typ Binary string s proměnnou šířkou. Jeho velikost může být až 8000 bajtů. |
obraz | Je to také datový typ Binary string s proměnnou šířkou. Jeho velikost může být až 2 GB. |
SQL Server Číselné datové typy
bit | Je to celé číslo, které může být 0, 1 nebo null. |
tinyint | Umožňuje celá čísla od 0 do 255. |
Smallint | Umožňuje celá čísla mezi -32 768 a 32 767. |
Int | Umožňuje celá čísla mezi -2,147,483,648 a 2,147,483,647. |
bigint | Umožňuje celá čísla mezi -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. |
plovoucí (n) | Používá se ke specifikaci číselných dat s plovoucí přesností od -1,79E+308 do 1,79E+308. Parametr n udává, zda má pole obsahovat 4 nebo 8 bajtů. Výchozí hodnota n je 53. |
nemovitý | Jedná se o číselný údaj s plovoucí přesností od -3,40E+38 do 3,40E+38. |
peníze | Používá se ke specifikaci peněžních údajů od -922,337,233,685,477,5808 do 922,337,203,685,477,5807. |
Typ dat data a času serveru SQL Server
čas schůzky | Používá se k určení kombinace data a času. Podporuje rozsah od 1. ledna 1753 do 31. prosince 9999 s přesností 3,33 milisekund. |
datum a čas2 | Používá se k určení kombinace data a času. Podporuje rozsah od 1. ledna 0001 do 31. prosince 9999 s přesností 100 nanosekund |
datum | Slouží pouze k uložení data. Podporuje rozsah od 1. ledna 0001 do 31. prosince 9999 |
čas | Ukládá čas pouze s přesností 100 nanosekund |
časové razítko | Ukládá jedinečné číslo, když je vytvořen nebo upraven nový řádek. Hodnota časového razítka je založena na vnitřních hodinách a neodpovídá reálnému času. Každá tabulka může obsahovat pouze proměnnou jednorázového razítka. |
SQL Server Jiné datové typy
Sql_variant | Používá se pro různé typy dat kromě textu, časového razítka a ntextu. Ukládá až 8000 bajtů dat. |
XML | Ukládá data ve formátu XML. Maximálně 2 GB. |
kurzor | Ukládá odkaz na kurzor používaný pro databázové operace. |
stůl | Ukládá sadu výsledků pro pozdější zpracování. |
unikátní identifikátor | Ukládá GUID (globálně jedinečný identifikátor). |
Datové typy Oracle
Datové typy Oracle String
java xor
CHAR(velikost) | Slouží k uložení znakových dat v rámci předem definované délky. Může být uloženo až 2000 bajtů. |
NCHAR(velikost) | Používá se k ukládání dat národního charakteru v rámci předem definované délky. Může být uloženo až 2000 bajtů. |
VARCHAR2(velikost) | Slouží k ukládání dat proměnného řetězce v rámci předem definované délky. Může být uloženo až 4000 bajtů. |
VARCHAR(VELIKOST) | Je to stejné jako VARCHAR2 (velikost). Můžete také použít VARCHAR (velikost), ale doporučuje se použít VARCHAR2 (velikost) |
NVARCHAR2 (velikost) | Používá se k ukládání dat řetězce Unicode v rámci předem definované délky. Musíme zadat velikost datového typu NVARCHAR2. Může být uloženo až 4000 bajtů. |
Numerické datové typy Oracle
NUMBER(p, s) | Obsahuje přesnost p a stupnici s. Přesnost p se může pohybovat od 1 do 38 a měřítko s se může pohybovat od -84 do 127. |
FLOAT (p) | Je to podtyp datového typu NUMBER. Přesnost p se může pohybovat od 1 do 126. |
BINARY_FLOAT | Používá se pro binární přesnost (32 bitů). Vyžaduje 5 bajtů, včetně bajtu délky. |
BINARY_DOUBLE | Používá se pro dvojitou binární přesnost (64 bitů). Vyžaduje 9 bajtů, včetně bajtu délky. |
Oracle Date and Time Data Types
DATUM | Slouží k uložení platného formátu data a času s pevnou délkou. Jeho rozsah se pohybuje od 1. ledna 4712 př. n. l. do 31. prosince 9999 našeho letopočtu. |
ČASOVÉ RAZÍTKO | Slouží k uložení platného data ve formátu RRRR-MM-DD s časem hh:mm:ss. |
Datové typy velkých objektů Oracle (typy LOB)
KAPKA | Používá se ke specifikaci nestrukturovaných binárních dat. Jeho rozsah je až 232-1 bajt nebo 4 GB. |
BFILE | Slouží k ukládání binárních dat do externího souboru. Jeho rozsah je až 232-1 bajt nebo 4 GB. |
KLOB | Používá se pro jednobajtová znaková data. Jeho rozsah je až 232-1 bajt nebo 4 GB. |
NCLOB | Používá se ke specifikaci dat jednobajtové nebo vícebajtové národní znakové sady (NCHAR) s pevnou délkou. Jeho rozsah je do 232-1 bajt nebo 4 GB. |
RAW (velikost) | Používá se ke specifikaci nezpracovaných binárních dat proměnné délky. Jeho rozsah je až 2000 bajtů na řádek. Musí být uvedena jeho maximální velikost. |
DLOUHÝ RAW | Používá se ke specifikaci nezpracovaných binárních dat proměnné délky. Jeho rozsah do 231-1 bajt nebo 2 GB na řádek. |