logo

SQL adattípusok

Az adattípusok az adatbázistáblában tárolható adatok jellegének ábrázolására szolgálnak. Például egy tábla egy adott oszlopában, ha egy karakterlánc típusú adatot szeretnénk tárolni, akkor ennek az oszlopnak a karakterlánc adattípusát kell deklarálnunk.

Az adattípusok alapvetően három kategóriába sorolhatók minden adatbázishoz.

  • Karakterlánc Adattípusok
  • Numerikus adattípusok
  • Dátum és idő Adattípusok

Adattípusok a MySQL, SQL Server és Oracle adatbázisokban

MySQL adattípusok

A MySQL adatbázisban használt adattípusok listája. Ez a MySQL 8.0-n alapul.

MySQL karakterlánc adattípusok

CHAR (méret) Fix hosszúságú karakterlánc megadására szolgál, amely számokat, betűket és speciális karaktereket tartalmazhat. A mérete 0 és 255 karakter között lehet. Az alapértelmezett az 1.
VARCHAR (Méret) Változó hosszúságú karakterlánc megadására szolgál, amely számokat, betűket és speciális karaktereket tartalmazhat. A mérete 0 és 65535 karakter között lehet.
BINÁRIS (Méret) Egyenlő a CHAR()-val, de bináris bájtkarakterláncokat tárol. A méret paramétere határozza meg az oszlop hosszát bájtokban. Az alapértelmezett az 1.
VARBINÁRIS (Méret) Egyenlő a VARCHAR()-val, de bináris bájtkarakterláncokat tárol. A méret paramétere adja meg az oszlop maximális hosszát bájtban.
Szövegméret) Egy karakterláncot tartalmaz, amely legfeljebb 255 karaktert tartalmazhat.
TINYTEXT Maximum 255 karakter hosszúságú karakterláncot tartalmaz.
KÖZÉPSZÖVEG 16 777 215 maximális hosszúságú húrt tartalmaz.
HOSSZÚSZÖVEG Egy karakterláncot tartalmaz, amelynek maximális hossza 4 294 967 295 karakter.
ENUM(érték1, érték2, érték3,...) Akkor használatos, ha egy karakterlánc objektum csak egy értékkel rendelkezik, amelyet a lehetséges értékek listájából választanak ki. 65535 értéket tartalmaz egy ENUM listában. Ha olyan értéket szúr be, amely nem szerepel a listában, a rendszer egy üres értéket szúr be.
SET(érték1,érték2,érték3,....) Egy karakterlánc megadására szolgál, amelynek 0 vagy több értéke lehet, a lehetséges értékek listájából kiválasztva. Egy SET listában egyszerre legfeljebb 64 értéket adhat meg.
BLOB (méret) BLOB-okhoz (bináris nagy objektumok) használják. Legfeljebb 65 535 bájt fér el benne.

MySQL numerikus adattípusok

BIT (méret) Bitérték típushoz használatos. Az értékenkénti bitek száma méretben van megadva. A mérete 1 és 64 közötti lehet. Az alapértelmezett érték 1.
INT(méret) Az egész értékhez használják. Előjeles tartománya -2147483648 és 2147483647 között, előjel nélküli pedig 0 és 4294967295 között változik. A méret paraméter határozza meg a maximális megjelenítési szélességet, amely 255.
INTEGER(méret) Ez egyenlő az INT(size) értékkel.
ÚSZÓ(méret, d) Lebegőpontos szám megadására szolgál. A size paraméter a számjegyek teljes számát adja meg. A tizedesvessző utáni számjegyek számát a határozza meg d paraméter.
FLOAT(p) Lebegőpontos szám megadására szolgál. A MySQL p paramétert használt annak meghatározására, hogy a FLOAT vagy a DOUBLE használatot használja. Ha p értéke 0 és 24 között van, az adattípus FLOAT () lesz. Ha p 25 és 53 között van, az adattípus DOUBLE() lesz.
DUPLA(méret, d) Ez egy normál méretű lebegőpontos szám. A size paraméter a számjegyek teljes számát adja meg. A tizedesjegy utáni számjegyek számát a d paraméter határozza meg.
Tizedes (méret, d) Fixpontszám megadására szolgál. A size paraméter a számjegyek teljes számát adja meg. A decimális paraméter utáni számjegyek számát a határozza meg d paraméter. A méret maximális értéke 65, az alapértelmezett érték pedig 10. A maximális érték a d 30, az alapértelmezett érték pedig 0.
DEC(méret, d) Ez egyenlő a DECIMAL(méret, d) értékkel.
BOOL Igaz és hamis logikai értékek megadására szolgál. A nullát hamisnak, a nullától eltérő értékeket pedig igaznak tekintjük.

MySQL dátum és idő adattípusok

DÁTUM Az ÉÉÉÉ-HH-NN dátumformátum megadására szolgál. A támogatott tartomány '1000-01-01' és '9999-12-31' között van.
DATETIME (fsp) A dátum és idő kombinációjának megadására szolgál. A formátuma ÉÉÉÉ-HH-NN óó:pp:pp. A támogatott tartomány 1000-01-01 00:00:00 és 9999-12-31 23:59:59 között van.
IDŐBÉLYEG (fsp) Az időbélyeg meghatározására szolgál. Értékét a rendszer a Unix-korszak ('1970-01-01 00:00:00' UTC) óta eltelt másodpercek számaként tárolja. A formátuma ÉÉÉÉ-HH-NN óó:pp:pp. A támogatott tartomány '1970-01-01 00:00:01' UTC és '2038-01-09 03:14:07' UTC.
IDŐ (fsp) Az időformátum megadására szolgál. A formátuma óó:pp:ss. A támogatott tartomány '-838:59:59' és '838:59:59' között van
ÉV Az év négyjegyű formátumban történő megadására szolgál. Négyjegyű formátumban engedélyezett értékek 1901-től 2155-ig és 0000-ig.

SQL Server adattípusok

SQL Server karakterlánc adattípus

char(n) Ez egy rögzített szélességű karakterlánc adattípus. A mérete legfeljebb 8000 karakter lehet.
varchar(n) Ez egy változó szélességű karakterlánc adattípus. A mérete legfeljebb 8000 karakter lehet.
varchar (max) Ez egy változó szélességű karakterlánc adattípus. A mérete legfeljebb 1 073 741 824 karakter lehet.
szöveg Ez egy változó szélességű karakterlánc adattípus. A mérete legfeljebb 2 GB szöveges adat lehet.
nchar Ez egy rögzített szélességű Unicode karakterlánc adattípus. A mérete legfeljebb 4000 karakter lehet.
nvarchar Ez egy változó szélességű Unicode karakterlánc adattípus. A mérete legfeljebb 4000 karakter lehet.
ntext Ez egy változó szélességű Unicode karakterlánc adattípus. A mérete legfeljebb 2 GB szöveges adat lehet.
bináris(n) Ez egy rögzített szélességű bináris karakterlánc adattípus. A mérete akár 8000 bájt is lehet.
varbináris Ez egy változó szélességű bináris karakterlánc adattípus. A mérete akár 8000 bájt is lehet.
kép Ez is egy változó szélességű bináris karakterlánc adattípus. A mérete akár 2 GB is lehet.

SQL Server numerikus adattípusok

bit Ez egy egész szám, amely lehet 0, 1 vagy null.
aprócska Lehetővé teszi az egész számokat 0 és 255 között.
Smallint Lehetővé teszi a -32 768 és 32 767 közötti egész számokat.
Int Lehetővé teszi a -2 147 483 648 és 2 147 483 647 közötti egész számokat.
bigint Lehetővé teszi a -9,223,372,036,854,775,808 és 9,223,372,036,854,775,807 közötti egész számokat.
úszó(n) Lebegő pontosságú számadatok megadására szolgál -1,79E+308 és 1,79E+308 között. Az n paraméter jelzi, hogy a mezőnek 4 vagy 8 bájtnak kell lennie. Az n alapértelmezett értéke 53.
igazi Ez egy lebegő pontosságú számadat -3,40E+38 és 3,40E+38 között.
pénz Pénzbeli adatok megadására szolgál -922,337,233,685,477.5808 és 922,337,203,685,477.5807 között.

SQL Server dátum és idő adattípus

dátum idő A dátum és idő kombinációjának megadására szolgál. Támogatása 1753. január 1-től 9999. december 31-ig terjed, 3,33 ezredmásodperces pontossággal.
dátum és idő 2 A dátum és idő kombinációjának megadására szolgál. Támogatja a 0001. január 1. és 9999. december 31. közötti tartományt, 100 nanoszekundumos pontossággal
dátum Csak a dátum tárolására szolgál. A támogatás 0001. január 1-től 9999. december 31-ig terjed
idő Csak 100 nanoszekundumos pontossággal tárolja az időt
időbélyeg Egyedi számot tárol, amikor új sort hoznak létre vagy módosítanak. Az időbélyeg értéke belső órán alapul, és nem felel meg a valós időnek. Minden táblázat csak egyszeri bélyegző változót tartalmazhat.

SQL Server Egyéb adattípusok

Sql_variant Különféle adattípusokhoz használatos, kivéve a szöveget, az időbélyeget és az ntextet. Akár 8000 bájtnyi adatot tárol.
XML XML formátumú adatokat tárol. Maximum 2 GB.
kurzor Hivatkozást tárol az adatbázis-műveletekhez használt kurzorra.
asztal Tárolja az eredménykészletet későbbi feldolgozáshoz.
egyedi azonosító GUID-ot (globálisan egyedi azonosítót) tárol.

Oracle adattípusok

Oracle String adattípusok

CHAR(méret) Karakteradatok tárolására szolgál az előre meghatározott hosszúságon belül. 2000 bájtig tárolható.
NCHAR(méret) A nemzeti karakter adatok előre meghatározott hosszúságon belüli tárolására szolgál. 2000 bájtig tárolható.
VARCHAR2 (méret) Változó karakterlánc adatok tárolására szolgál az előre meghatározott hosszúságon belül. 4000 bájtig tárolható.
VARCHAR (MÉRET) Ez ugyanaz, mint a VARCHAR2(méret). Használhatja a VARCHAR(size)-t is, de javasolt a VARCHAR2(size) használata.
NVARCHAR2 (méret) Unicode karakterlánc-adatok tárolására szolgál az előre meghatározott hosszúságon belül. Meg kell adnunk az NVARCHAR2 adattípus méretét. 4000 bájtig tárolható.

Oracle numerikus adattípusok

SZÁM (p, s) Pontos p és s skálát tartalmaz. A p pontosság 1 és 38 között, az s skála pedig -84 és 127 között lehet.
FLOAT(p) Ez a NUMBER adattípus egyik altípusa. A p pontosság 1 és 126 között lehet.
BINARY_FLOAT Bináris pontosságra (32 bites) használják. 5 bájtot igényel, beleértve a hossza bájtot is.
BINARY_DOUBLE Dupla bináris pontossághoz (64 bites) használatos. 9 bájtot igényel, beleértve a hosszúságú bájtot is.

Oracle dátum és idő adattípusok

DÁTUM Érvényes dátum-idő formátum tárolására szolgál rögzített hosszúsággal. Elterjedési területe Kr.e. 4712. január 1-től 9999. december 31-ig változik.
IDŐBÉLYEG Az érvényes dátum ÉÉÉÉ-HH-NN formátumban történő tárolására szolgál, idő óó:pp:pp formátumban.

Oracle Large Object adattípusok (LOB típusok)

FOLT Strukturálatlan bináris adatok megadására szolgál. A hatótávolsága 2-ig terjed32-1 bájt vagy 4 GB.
BFILE Bináris adatok külső fájlban való tárolására szolgál. A hatótávolsága 2-ig terjed32-1 bájt vagy 4 GB.
CLOB Egybájtos karakteradatokhoz használják. A hatótávolsága 2-ig terjed32-1 bájt vagy 4 GB.
NCLOB Egybájtos vagy rögzített hosszúságú többbájtos nemzeti karakterkészlet (NCHAR) adatok megadására szolgál. A hatótávolsága legfeljebb 232-1 bájt vagy 4 GB.
RAW(méret) Változó hosszúságú nyers bináris adatok megadására szolgál. Tartománya soronként 2000 bájtig terjed. Meg kell adni a maximális méretét.
HOSSZÚ NYERS Változó hosszúságú nyers bináris adatok megadására szolgál. A hatótávolsága legfeljebb 231-1 bájt vagy 2 GB soronként.