Adattípusok MySQL adatbázis-kezelőben
Ebben a SQL leckében bemutatjuk, hogy milyen adattípusok léteznek a MySQL adatbázis-kezelőben, illetve azt, hogy melyiket milyen esetekben érdemes használni.
Mi az az adattípus?
Adattípusokkal már találkozhattunk más programnyelvekben is, bár az SQL nem egy programozási nyelv, de itt is megtalálhatóak az adattípusok. Egy adatbázis-kezelő esetében az adattípusok határozzák meg azt, hogy egy oszlop milyen értéket vehet fel. Az SQL elvei szerint, egy oszlopnak (mezőnek) minden esetben meg kell határozni az adattípusát már a tábla létrehozásakor, ez mutatja meg, hogy az egyes oszlopokban milyen adatokat, értékeket lehet tárolni.
A MySQL-ben három főkategóriába sorolhatóak az adattípusok:
- szöveg
- szám
- dátum és idő
Szövegtípusú adattípusok MySQL-ben
Név | Leírás |
---|---|
CHAR(méret) | Rögzített hosszúságú karakterlánc, mely betűket, számokat és speciális karaktereket tartalmazhat. A méret paraméter határozza meg a karakterhosszt, amely 0-tól 255-ig terjedhet. Az alapértelmezett érték 1. |
VARCHAR(méret) | Nem rögzített hosszúságú karakterlánc, mely betűket, számokat és speciális karaktereket tartalmazhat. A méret paraméter határozza meg a maximális karakterhosszt, amely 0-tól 65.535-ig terjedhet. |
BINARY(méret) | A CHAR() típussal egyezik meg, de bináris bájtkódú karakterláncokat tárol. A méret paraméter megadja az oszlop hosszát bájtokban. Az alapértelmezett érték 1 |
VARBINARY(méret) | Megegyezik a VARCHAR() funkcióval, de bináris bájtkódú karakterláncokat tárol. A méret paraméter megadja az oszlop maximális hosszát bájtokban. |
TINYBLOB | Bináris nagy objektumok (BLOB) esetén. Maximális hossz: 255 bájt. |
BLOB(méret) | Bináris nagy objektumok (BLOB) esetén. Maximálisan 65.535 bájtnyi adat tárolására alkalmas. |
MEDIUMBLOB | Bináris nagy objektumok (BLOB) esetén. Maximálisan 16.777.215 bájtnyi adat tárolására alkalmas. |
LONGBLOB | Bináris nagy objektumok (BLOB) esetén. Maximálisan 4.294.967.295 bájtnyi adat tárolására alkalmas. |
TINYTEXT | Karakterlánc tárolására alkalmas. Maximális hossz: 255 karakter. |
TEXT(méret) | Karakterlánc tárolására alkalmas, ahol a méret paraméter határozza meg a tárolandó karakterlánc hosszát. Maximális hossz: 65.635 karakter. |
MEDIUMTEXT | Karakterlánc tárolására alkalmas. Maximális hossz: 16.777.215 karakter. |
LONGTEXT | Karakterlánc tárolására alkalmas. Maximális hossz: 4.294.967.295 karakter. |
ENUM(érték1, érték2 …) | Egy karakterlánc objektum, amelynek csak egy értéke lehet. Az értéket a lehetséges értékek listájából választunk ki. Egy ENUM listában legfeljebb 65535 értéket lehet. |
SET(érték1, érték2 …) | Egy karakterlánc objektum, amelynek 0 vagy több értéke lehet, a lehetséges értékek listájából választva. Egy SET listában legfeljebb 64 értéket lehet felsorolni. |
Számtípusú adattípusok MySQL-ben
Név | Leírás |
---|---|
BIT(méret) | Egy bitérték-típus. Az értékenkénti bitek száma a méret paraméterben van megadva. A méret paraméter 1 és 64 közötti értéket vehet fel, de alapértelmezett értéke az 1. |
TINYINT(méret) | Nagyon kis méretű egész szám. Az előjeles (signed) tartomány -128-tól 127-ig tart, míg az előjel nélküli (unsigned) 0-tól 255-ig. A méret paraméter adja meg a maximális kijelzőszélességet, melynek alapértéke 255. |
SMALLINT(méret) | Kis méretű egész szám. Az előjeles (signed) tartomány -32.768-tól 32.767-ig tart, míg az előjel nélküli (unsigned) 0-tól 65.535-ig. A méret paraméter adja meg a maximális kijelzőszélességet, melynek alapértéke 255. |
MEDIUMINT(méret) | Közepes méretű egész szám. Az előjeles (signed) tartomány -8.388.608-tól 8.388.607-ig tart, míg az előjel nélküli (unsigned) 0-tól 16.777.215-ig. A méret paraméter adja meg a maximális kijelzőszélességet, melynek alapértéke 255. |
INT(méret) | Közepes méretű egész szám. Az előjeles (signed) tartomány -2.147.483.648-tól 2.147.483.647-ig tart, míg az előjel nélküli (unsigned) 0-tól 4.294.967.295-ig. A méret paraméter adja meg a maximális kijelzőszélességet, melynek alapértéke 255. |
INTEGER(méret) | Megyezik az INT() típussal: közepes méretű egész szám. Az előjeles (signed) tartomány -2.147.483.648-tól 2.147.483.647-ig tart, míg az előjel nélküli (unsigned) 0-tól 4.294.967.295-ig. A méret paraméter adja meg a maximális kijelzőszélességet, melynek alapértéke 255. |
BIGINT(méret) | Közepes méretű egész szám. Az előjeles (signed) tartomány -9.223.372.036.854.775.808-tól 9.223.372.036.854.775.807-ig tart, míg az előjel nélküli (unsigned) 0-tól 18.446.744.073.709.551.615-ig. A méret paraméter adja meg a maximális kijelzőszélességet, melynek alapértéke 255. |
FLOAT(p) | Lebegőpontos számot tárol, melyben a p paraméter értéke határozza meg, hogy FLOAT vagy DOUBLE legyen az adattípus. Ha az érték 0 és 23 között van, akkor a választott típus FLOAT lesz, míg ha 24 és 54 között, akkor egy DOUBLE. |
DOUBLE(méret, p) | Lebegőpontos számot tárol, a számjegyek számát a méret paraméterben kell meghatározni. A tizedespont utáni számjegyek számát a d paraméterben adjuk meg. |
DECIMAL(méret, d) | Egy fixpontos szám, melynél a számjegyek száma a méret paraméterben van megadva. A tizedespont utáni számjegyek számát a d paraméterben adjuk meg. A méret maximálisan 65, míg a d maximális értéke 30 lehet. A méret alapértelmezett értéke 10. A d alapértelmezett értéke 0. |
DEC(méret, d) | Megegyezik a DECIMAL() típussal: egy fixpontos szám, melynél a számjegyek száma a méret paraméterben van megadva. A tizedespont utáni számjegyek számát a d paraméterben adjuk meg. A méret maximálisan 65, míg a d maximális értéke 30 lehet. A méret alapértelmezett értéke 10. A d alapértelmezett értéke 0. |
BOOL | Logikai értékeket fejezhetünk ki vele, a nulla értéket hamisnak, a nem nulla értéket igaznak tekintjük. |
BOOLEAN | Megegyezik a BOOL típussal: logikai értékeket fejezhetünk ki vele, a nulla értéket hamisnak, a nem nulla értéket igaznak tekintjük. |
Dátum és idő adattípusok MySQL adatbázis-kezelőben
Név | Leírás |
---|---|
DATE | Dátumot tárolhatunk benne, melynek formátuma: ÉÉÉÉÉ-HH-NN (év-hónap-nap). A támogatott tartomány: ‘1000-01-01’ és ‘9999-12-31’ között. |
DATETIME(fsp) | Dátumot és időt tárolhatunk benne egyesítve, melynek formátuma: ÉÉÉÉ-HH-NN óó:pp:mm (év-hónap-nap óra:perc:másodperc). A támogatott tartomány: 1000-01-01 00:00:00:00-től 9999-12-31 23:59:59-ig. |
TIMESTAMP(fsp) | Időbélyeg típus, az eltárolt érték az Unix-idő kezdeti értéke óta eltelt másodpercek száma. Formátum: ÉÉÉÉ-HH-NN óó:pp:mm (év-hónap-nap óra:perc:másodperc). A támogatott tartomány: 1970-01-01 00:00:01 és 2038-01-09 03:14:07 között. |
TIME(fsp) | Időtípus, melynek formátuma: óó:pp:mm (óra:perc:másodperc). Lehetséges értékek: -838:59:59 és 838:59:59 között. |
YEAR | Évszám típus, mely négy számjegyű. Formátuma: ÉÉÉÉ (év). Tartománya: 1901-től 2155-ig. |