logo

Typy údajov SQL

Dátové typy sa používajú na vyjadrenie povahy údajov, ktoré môžu byť uložené v databázovej tabuľke. Napríklad v konkrétnom stĺpci tabuľky, ak chceme uložiť údaje typu reťazec, budeme musieť deklarovať typ údajov reťazca tohto stĺpca.

Dátové typy sú rozdelené do troch kategórií pre každú databázu.

  • Reťazcové typy údajov
  • Číselné typy údajov
  • Dátum a čas Typy údajov

Typy údajov v databázach MySQL, SQL Server a Oracle

Typy údajov MySQL

Zoznam typov údajov používaných v databáze MySQL. Toto je založené na MySQL 8.0.

Typy údajov reťazca MySQL

CHAR(veľkosť) Používa sa na určenie reťazca s pevnou dĺžkou, ktorý môže obsahovať čísla, písmená a špeciálne znaky. Jeho veľkosť môže byť 0 až 255 znakov. Predvolená hodnota je 1.
VARCHAR(veľkosť) Používa sa na určenie reťazca s premenlivou dĺžkou, ktorý môže obsahovať čísla, písmená a špeciálne znaky. Jeho veľkosť môže byť od 0 do 65535 znakov.
BINARY (veľkosť) Rovná sa CHAR(), ale ukladá binárne bajtové reťazce. Jeho parameter size určuje dĺžku stĺpca v bajtoch. Predvolená hodnota je 1.
VARBINARY (veľkosť) Rovná sa VARCHAR(), ale ukladá binárne bajtové reťazce. Jeho parameter size určuje maximálnu dĺžku stĺpca v bajtoch.
TEXT (veľkosť) Obsahuje reťazec, ktorý môže obsahovať maximálnu dĺžku 255 znakov.
TINYTEXT Obsahuje reťazec s maximálnou dĺžkou 255 znakov.
MEDIUMTEXT Drží strunu s maximálnou dĺžkou 16 777 215.
LONGTEXT Obsahuje reťazec s maximálnou dĺžkou 4 294 967 295 znakov.
ENUM(hodnota1; hodnota2; hodnota3;...) Používa sa, keď má reťazcový objekt iba jednu hodnotu zvolenú zo zoznamu možných hodnôt. Obsahuje 65535 hodnôt v zozname ENUM. Ak vložíte hodnotu, ktorá nie je v zozname, vloží sa prázdna hodnota.
SET( hodnota1, hodnota2, hodnota3,....) Používa sa na zadanie reťazca, ktorý môže mať 0 alebo viac hodnôt vybraných zo zoznamu možných hodnôt. V zozname SET môžete naraz zobraziť až 64 hodnôt.
BLOB (veľkosť) Používa sa pre BLOB (binárne veľké objekty). Pojme až 65 535 bajtov.

Typy číselných údajov MySQL

BIT (veľkosť) Používa sa pre typ bitovej hodnoty. Počet bitov na hodnotu je určený veľkosťou. Jeho veľkosť môže byť 1 až 64. Predvolená hodnota je 1.
INT(veľkosť) Používa sa pre celočíselné hodnoty. Jeho rozsah so znamienkom sa pohybuje od -2147483648 do 2147483647 a rozsah bez znamienka sa pohybuje od 0 do 4294967295. Parameter size určuje maximálnu šírku zobrazenia, ktorá je 255.
INTEGER(veľkosť) Rovná sa INT (veľkosť).
FLOAT(veľkosť; d) Používa sa na určenie čísla s pohyblivou rádovou čiarkou. Jeho parameter size udáva celkový počet číslic. Počet číslic za desatinnou čiarkou je určený pomocou d parameter.
FLOAT(p) Používa sa na určenie čísla s pohyblivou rádovou čiarkou. MySQL použil parameter p na určenie, či použiť FLOAT alebo DOUBLE. Ak je p medzi 0 až 24, typ údajov sa zmení na FLOAT (). Ak je p od 25 do 53, typ údajov sa zmení na DOUBLE().
DOUBLE (veľkosť; d) Je to číslo normálnej veľkosti s pohyblivou rádovou čiarkou. Jeho parameter size udáva celkový počet číslic. Počet číslic za desatinnou čiarkou je určený parametrom d.
DECIMAL(veľkosť, d) Používa sa na určenie čísla pevného bodu. Jeho parameter size udáva celkový počet číslic. Počet číslic za desiatkovým parametrom je určený pomocou d parameter. Maximálna hodnota pre veľkosť je 65 a predvolená hodnota je 10. Maximálna hodnota pre d je 30 a predvolená hodnota je 0.
DEC(veľkosť; d) Rovná sa DECIMAL (veľkosť, d).
BOOL Používa sa na určenie boolovských hodnôt true a false. Nula sa považuje za nepravdivú a nenulové hodnoty sa považujú za pravdivé.

Typy údajov dátumu a času MySQL

DÁTUM Používa sa na určenie formátu dátumu RRRR-MM-DD. Jeho podporovaný rozsah je od '1000-01-01' do '9999-12-31'.
DATETIME (fsp) Používa sa na určenie kombinácie dátumu 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žíva sa na určenie časovej pečiatky. Jeho hodnota je uložená ako počet sekúnd 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.
TIME (fsp) Používa sa na určenie formátu času. Jeho formát je hh:mm:ss. Jeho podporovaný rozsah je od '-838:59:59' do '838:59:59'
ROK Používa sa na určenie roku v štvorcifernom formáte. Povolené hodnoty v štvorcifernom formáte od 1901 do 2155 a 0000.

Typy údajov servera SQL

Typ údajov reťazca SQL Server

char(n) Ide o dátový typ reťazca znakov s pevnou šírkou. Jeho veľkosť môže byť až 8000 znakov.
varchar(n) Ide o dátový typ reťazca znakov s premenlivou šírkou. Jeho veľkosť môže byť až 8000 znakov.
varchar(max) Ide o dátové typy reťazca znakov s premenlivou šírkou. Jeho veľkosť môže byť až 1 073 741 824 znakov.
text Ide o dátový typ reťazca znakov s premenlivou šírkou. Jeho veľkosť môže byť až 2 GB textových dát.
nchar Ide o dátový typ reťazca Unicode s pevnou šírkou. Jeho veľkosť môže byť až 4000 znakov.
nvarchar Je to dátový typ reťazca Unicode s premenlivou šírkou. Jeho veľkosť môže byť až 4000 znakov.
ntext Je to dátový typ reťazca Unicode s premenlivou šírkou. Jeho veľkosť môže byť až 2 GB textových dát.
binárne (n) Je to dátový typ binárneho reťazca s pevnou šírkou. Jeho veľkosť môže byť až 8000 bajtov.
varbinárne Je to dátový typ Binary string s premennou šírkou. Jeho veľkosť môže byť až 8000 bajtov.
obrázok Je to tiež dátový typ binárneho reťazca s premennou šírkou. Jeho veľkosť môže byť až 2 GB.

Číselné typy údajov servera SQL

trocha Je to celé číslo, ktoré môže byť 0, 1 alebo null.
tinyint Umožňuje celé čísla od 0 do 255.
Smallint Umožňuje celé čísla medzi -32 768 a 32 767.
Int Umožňuje celé čísla medzi -2,147,483,648 a 2,147,483,647.
bigint Umožňuje celé čísla medzi -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807.
float(n) Používa sa na špecifikáciu číselných údajov s pohyblivou presnosťou od -1,79E+308 do 1,79E+308. Parameter n označuje, či má pole obsahovať 4 alebo 8 bajtov. Predvolená hodnota n je 53.
reálny Ide o číselný údaj s pohyblivou presnosťou od -3,40E+38 do 3,40E+38.
peniaze Používa sa na špecifikáciu peňažných údajov od -922,337,233,685,477,5808 do 922,337,203,685,477,5807.

Typ údajov dátumu a času servera SQL

Dátum Čas Používa sa na určenie kombinácie dátumu a času. Podporuje rozsah od 1. januára 1753 do 31. decembra 9999 s presnosťou 3,33 milisekúnd.
dátum a čas2 Používa sa na určenie kombinácie dátumu a času. Podporuje rozsah od 1. januára 0001 do 31. decembra 9999 s presnosťou 100 nanosekúnd
dátum Používa sa len na uloženie dátumu. Podporuje rozsah od 1. januára 0001 do 31. decembra 9999
čas Ukladá čas len s presnosťou 100 nanosekúnd
časová značka Ukladá jedinečné číslo, keď sa vytvorí alebo upraví nový riadok. Hodnota časovej pečiatky je založená na interných hodinách a nezodpovedá reálnemu času. Každá tabuľka môže obsahovať len premennú jednorazovej pečiatky.

SQL Server Iné typy údajov

Sql_variant Používa sa pre rôzne typy údajov okrem textu, časovej pečiatky a ntextu. Uchováva až 8000 bajtov dát.
XML Ukladá dáta vo formáte XML. Maximálne 2 GB.
kurzor Ukladá odkaz na kurzor používaný na operácie s databázou.
tabuľky Ukladá sadu výsledkov pre neskoršie spracovanie.
jedinečný identifikátor Ukladá GUID (globálne jedinečný identifikátor).

Typy údajov Oracle

Dátové typy Oracle String

CHAR(veľkosť) Používa sa na ukladanie znakových údajov v rámci preddefinovanej dĺžky. Môže byť uložená až do 2000 bajtov.
NCHAR(veľkosť) Používa sa na ukladanie údajov národných znakov v rámci preddefinovanej dĺžky. Môže byť uložená až do 2000 bajtov.
VARCHAR2(veľkosť) Používa sa na ukladanie údajov variabilného reťazca v rámci preddefinovanej dĺžky. Môže byť uložená až do veľkosti 4000 bajtov.
VARCHAR(VEĽKOSŤ) Je rovnaký ako VARCHAR2 (veľkosť). Môžete tiež použiť VARCHAR (veľkosť), ale odporúča sa použiť VARCHAR2 (veľkosť)
NVARCHAR2 (veľkosť) Používa sa na ukladanie údajov reťazca Unicode v rámci preddefinovanej dĺžky. Musíme zadať veľkosť dátového typu NVARCHAR2. Môže sa uložiť až do 4000 bajtov.

Typy číselných údajov Oracle

NUMBER(p, s) Obsahuje presnosť p a mierku s. Presnosť p sa môže pohybovať od 1 do 38 a mierka s sa môže pohybovať od -84 do 127.
FLOAT(p) Je to podtyp dátového typu NUMBER. Presnosť p sa môže pohybovať od 1 do 126.
BINARY_FLOAT Používa sa na binárnu presnosť (32-bit). Vyžaduje 5 bajtov vrátane bajtu dĺžky.
BINARY_DOUBLE Používa sa na dvojitú binárnu presnosť (64-bit). Vyžaduje 9 bajtov vrátane bajtu dĺžky.

Oracle Date and Time Data Types

DÁTUM Používa sa na uloženie platného formátu dátumu a času s pevnou dĺžkou. Jeho rozsah sa pohybuje od 1. januára 4712 pred Kristom do 31. decembra 9999 po Kr.
ČASOVÁ ZNAČKA Používa sa na uloženie platného dátumu vo formáte RRRR-MM-DD s časom hh:mm:ss.

Typy údajov veľkých objektov Oracle (typy LOB)

BLOB Používa sa na špecifikáciu neštruktúrovaných binárnych údajov. Jeho rozsah siaha až do 232-1 bajt alebo 4 GB.
BFILE Používa sa na ukladanie binárnych údajov do externého súboru. Jeho rozsah siaha až do 232-1 bajt alebo 4 GB.
KLOB Používa sa pre jednobajtové znakové údaje. Jeho rozsah siaha až do 232-1 bajt alebo 4 GB.
NCLOB Používa sa na špecifikovanie údajov jednobajtovej alebo viacbajtovej sady národných znakov (NCHAR) s pevnou dĺžkou. Jeho rozsah je do 232-1 bajt alebo 4 GB.
RAW (veľkosť) Používa sa na špecifikáciu nespracovaných binárnych údajov s premenlivou dĺžkou. Jeho rozsah je až 2000 bajtov na riadok. Musí byť uvedená jeho maximálna veľkosť.
DLHÉ RAW Používa sa na špecifikovanie nespracovaných binárnych údajov s premenlivou dĺžkou. Jeho rozsah do 231-1 bajt alebo 2 GB na riadok.