
A különböző SQL nyszerverekben általában ugyanazokat az adat típusokat használhatjuk, de az elnevezésekben és az adattípusok méreteiben vannak különbségek. Jelen esetben a MYSQL adattípusait vesszük át. az alábbiakban jelölöm a leggyakrabban használt típusokat
Numerikus típusok
Oszlop típus | Tárolási hossz | Leírás |
TINYINT | 1 byte | Rövid egész |
SMALLINT | 2 byte | Egész |
MEDIUMINT | 3 byte | Egész |
INT | 4 byte | Egész |
INTEGER | 4 byte | Egész |
BIGINT | 8 byte | Hosszú egész |
FLOAT(X) | 4 if X <= 24 or 8 if 25 <= X <= 53 | Lebegőpontos típusok |
FLOAT | 4 bytes |
|
DOUBLE | 8 byte |
|
DOUBLE PRECISION | 8 byte |
|
REAL | 8 byte |
|
DECIMAL(M,D) | Ha D>0, akkor M+2 bytes Ha D = 0 (D+2, if M < D) M+1 bytes | Adott pontosságú típusok |
NUMERIC(M,D) | Ha D > 0 akkor M+2 bytes Ha D = 0 (D+2, if M < D) Ha M+1 bytes |
|
Dátum és időpont típusok
A dátumot és időpontokat a MySQL úgynevezett belső formában tárolja. Ez a belső forma egy adott dátum óta eltelt másodpercek számát jelenti. A különböző típusú értékek ugyanattól a kezdőértéktől számolódnak. Az egyes dátumtípusok átkonvertálhatóak egymásba a MySQL megfelelő dátumfüggvényeit használva. A részletekért nézze meg a dokumentációt.
Oszlop típus | Tárolási méret, formátum | Leírás |
DATETIME | 8 byte: | Dátum és időpont érték: '1000-01-01 00:00:00'-tól |
DATE | 3 byte, ’ÉÉÉÉ-HH-NN’ | Dátum érték: A fentieknek megfelelő. |
TIMESTAMP | 4 byte, ’ÓÓ:PP:MM’ | Egy időpont érték. 00:00:00 – 23:59:59 |
TIME | 3 byte | Idő: |
YEAR | 1 byte | Év: 0000-9999 |
String típusok
A szövegeket az SQL92-höz képest kibővítették a változó hosszúságú adattípusokkal. Ezek esetében a tárolási méret függ az adott mezőben aktuálisan letárolt adatok mennyiségétől.
Column type | Tárolási hossz | Leírás |
CHAR(N) | N byte, 1 <= N <= 255 | Karakter (String, szöveg) |
VARCHAR(N) | L+1 byte, ahol | Változó hosszúságú szöveg |
TINYBLOB, TINYTEXT | L+1 byte, ahol L < 2^8 | Rövid szöveg vagy bináris adat |
BLOB, TEXT | L+2 byte, ahol L < 2^16 | Szöveg vagy bináris adat |
MEDIUMBLOB, MEDIUMTEXT | L+3 byte, ahol L < 2^24 | Közepes hosszúságú szöveg vagy bináris adat |
LONGBLOB, LONGTEXT | L+4 byte, ahol L < 2^32 | Hosszú szöveg vagy bináris adat |
ENUM('value1','value2',...) | 1 vagy 2 byte, a kiértékelendő adatok számától | |
SET('value1','value2',...) | 1, 2, 3, 4 vagy 8 byte, a halmaz elemeinek |