Mysql 6
6.2. Oszlopadat-típusok
A következő oszloptípusokat a MySQL támogatja. A leírásban a következő jelölést használjuk:
Megadja a maximális kimeneti méretet. A maximális kimeneti méret 255 karakter.
Lebegőpontos adattípusokhoz használatos, és a tizedespont után megjelenő számjegyek számát jelzi. A maximális lehetséges érték 30 bit, de nem lehet nagyobb, mint az M -2.
A szögletes zárójelek ('[' és ']') jelzik az opcionális attribútumok csoportjának adattípusát.
Vegye figyelembe, hogy ha ZEROFILL értéket ad meg egy oszlophoz. akkor a MySQL automatikusan hozzáadja az UNSIGNED attribútumot ehhez az oszlophoz.
Figyelmeztetés: ne feledje, hogy amikor kivonja a számértékeket, amelyek közül az egyik az UNSIGNED típusú. az eredmény aláírásra kerül! Lásd: 6.3.5. Szakasz, "Típusú öntési funkciók".
TINYINT [(M)] [UNSIGNED] [ZEROFILL]
Nagyon kicsi egész szám. A tartomány -128 és 127 között van. A tartomány aláírás nélkül 0 és 255 között van.
Ezek a TINYINT (1) szinonimái.
SMALLINT [(M)] [UNSIGNED] [ZEROFILL]
Kis egész szám. A tartomány -32768 és 32767 között van. A tartomány 0 és 65535 között van.
MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL]
Az egész szám közepes méretű. A tartomány -8388608-tól 8388607-ig terjed. A tartomány 0-tól 16777215-ig terjed.
INT [(M)] [UNSIGNED] [ZEROFILL]
A normál méret egésze. A tartomány -2147483648-tól 2147483647-ig terjed. A tartomány 0 és 4294967295 között van megadva.
INTEGER [(M)] [UNSIGNED] [ZEROFILL]
Az INT szinonimája.
BIGINT [(M)] [UNSIGNED] [ZEROFILL]
Egy nagy egész szám. Tartományban egy jel -9.223.372.036.854.775.808 hogy 9223372036854775807. tartomány aláíratlan 0 18446744073709551615. BIGINT oszloptípus kell tekinteni néhány jellemzője:
Minden aritmetikai műveletek segítségével végezzük BIGINT vagy kettős értékek a jele, hogy a nem alkalmazható előjel nélküli egész szám nagyobb, mint 9223372036854775807 (63 bit), kivéve az által elvégzett logikai funkciókat. Ellenkező esetben az eredmény utolsó néhány számjegye hibás lehet a kerekítési hibák miatt, amikor a BIGINT-t DOUBLE-re konvertálja. A MySQL 4.0 képes a BIGINT típusú adatokat feldolgozni a következő esetekben:
Az egész számok használatával nagy aláírás nélküli értékeket tárolhat egy BIGINT típusú oszlopban.
MIN (big_int_column) és MAX (big_int_column) esetén.
Amikor operátorokat használ ('+', '-', '*' stb.), Ha mindkét operandus egész szám.
Egy egész szám pontos értéke mindig a BIGINT típusú oszlopban tárolható. Ebben az esetben a MySQL átalakítja a sztringet szám nélküli konverzió nélkül.
Ha mindkét argumentum egész szám, akkor a BIGINT aritmetikai szabályokat használjuk a '-', '+' és a '*' műveletek végrehajtására. Ez azt jelenti, hogy ha két nagy egész számot (vagy az értékeket átfogó értékek eredményeit, amelyek visszaadják az egész számokat) megszorozzák, akkor a művelet eredménye kiszámíthatatlan, ha meghaladja a 9223372036854775807 értékét.
FLOAT (Pontosság) [UNSIGNED] [ZEROFILL]
Lebegőpontos szám. A pontosság attribútumának értéke lehet <=24 для числа с плавающей точкой обычной (одинарной) точности и между 25 и 53 - для числа с плавающей точкой удвоенной точности. Эти типы данных сходны с типами FLOAT и DOUBLE. описанными ниже. FLOAT(X) относится к тому же интервалу, что и соответствующие типы FLOAT и DOUBLE. но диапазон значений и количество десятичных знаков не определены.
A MySQL 3.23 verziójában ez egy lebegőpontos szám valódi értéke. A MySQL korábbi verzióiban a FLOAT adat típus (precíziós) mindig két tizedes pontossággal rendelkezik.
Meg kell jegyezni, hogy a FLOAT adat típus használata váratlan problémákat okozhat, mivel a MySQL összes számítását dupla pontossággal végzik el. Lásd: A.5.6. Szakasz, "A keresési feltételeknek megfelelő hiányzó sorok problémáinak megoldása". Ez a szintaxis biztosítja az ODBC-vel való kompatibilitást.
FLOAT [(M, D)] [UNSIGNED] [ZEROFILL]
Egy kis szám, a szokásos pontosságú lebegőponttal. Az érvényes értékek a -3.402823466E + 38-tól -1.175494351E-38-ig terjednek. 0 és az 1.175494351E-38-tól 3.402823466E + 38-ig. Ha megadja az UNSIGNED attribútumot. negatív értékek nem megengedettek. Az M attribútum a felhasználó számára megjelenítendő karakterek számát jelöli, és a D attribútum a tizedespontot követő számjegyek száma. A FLOAT kijelölés anélkül, hogy argumentumokat adna meg, vagy FLOAT (X) formát írna. ahol X <=24 справедливы для числа с плавающей точкой обычной точности.
Kettős [(M, D)] [UNSIGNED] [ZEROFILL]
Kettős pontosság [(M, D)] [UNSIGNED] [ZEROFILL]. REAL [(M, D)] [UNSIGNED] [ZEROFILL]
Ezek a szimbólumok a DOUBLE szinonimái.
DECIMAL [(M [, D])] [UNSIGNED] [ZEROFILL]
`` Unpacked '' lebegőpontos szám. Úgy viselkedik, mint a CHAR oszlop. amely digitális értéket tartalmaz. A kicsomagolt kifejezés azt jelenti, hogy a számot karakterláncként tárolják, és egy karaktert használnak minden tizedeshelyre. A decimális számjegyek, valamint a negatív számok mínusz jelét nem számolják M (de ezekre fenntartva). Ha a D attribútum 0. Az értékek tizedesjel nélkül kerülnek bemutatásra, pl. törtrész nélkül. A DECIMAL típusú értékek maximális tartománya ugyanaz, mint a DOUBLE típusnál. de egy konkrét DECIMAL oszlop tényleges intervalluma korlátozható az M és D attribútumok értékének kiválasztásával, ha az UNSIGNED attribútum meg van adva. negatív értékek nem megengedettek. Ha a D attribútum nincs megadva, az alapértelmezett értéke 0. Ha az M nincs megadva, az alapértelmezett értéke 10. A korábbi verzióknál, mint a MySQL 3.23, az M argumentumnak tartalmaznia kell egy helyet a szám és a tizedeshely számára.
DEC [(M [, D])] [UNSIGNED] [ZEROFILL]. NUMERIKUS [(M [, D])] [UNSIGNED] [ZEROFILL]
Ezek a jelölések a DECIMAL szinonimái.
Date. Az "1000-01-01" és a "9999-12-31" közötti intervallum támogatott. A MySQL a DATE értékeket "YYYY-MM-DD" formátumban jeleníti meg. De beállíthatja az értékeket a DATE oszlopban. mindkét karakterláncot és számot használva. Lásd: 6.2.2.2. Szakasz, "DATETIME adattípusok. DATE és TIMESTAMP. "
A dátum és az idő kombinációja. A "1000-01-01 00:00:00" és "9999-12-31 23:59:59" közötti időtartam támogatott. A MySQL a DATETIME értékeket "ÉÉÉÉ-HH-NN HH: MM: SS" formátumban jeleníti meg. De beállíthatja az értékeket a DATETIME oszlopban. mindkét karakterláncot és számot használva. Lásd: 6.2.2.2. Szakasz, "DATETIME adattípusok. DATE és TIMESTAMP. "
Időbélyeg. Intervallum a "1970-01-01 00:00:00" időponttól 2037-ig. A MySQL a TIMESTAMP értékeket YYYYMMDDHHMMSS formátumban jeleníti meg. ÉÉHHNNÓÓPPMpMp. YYYYMMDD vagy YYMMDD, a M. 14 (vagy hiányzó), 12. 8. vagy 6. értékek függvényében; de beállíthatja az értékeket a TIMESTAMP oszlopban is. mindkét karakterláncot és számot használva. A TIMESTAMP oszlop hasznos lehet a dátum és az idő rögzítéséhez az INSERT vagy az UPDATE műveletek végrehajtása során. mivel a legutóbbi művelet dátumának és idejének értékeit automatikusan bevinni, ha ezeket a értékeket a program nem adja meg. Az aktuális dátumot és időt is megadhatja a NULL megadásával. Lásd: 6.2.2. Szakasz, "Dátum és idő adattípusok". Az M argumentum csak a TIMESTAMP oszlop kibocsátásának módját érinti; 4 bájtot mindig az értékeinek tárolására használnak. Vegye figyelembe, hogy a TIMESTAMP (M) oszlopok. ahol M 8 vagy 14, számok, míg az M argumentum különböző értékű TIMESTAMP (M) oszlopai húrok. Ez biztosítja, hogy biztonságosan eldobhatja és visszaállíthatja az asztalt ilyen típusú oszlopokkal! Lásd: 6.2.2.2. Szakasz, "DATETIME adattípusok. DATE és TIMESTAMP. "
Time. Az intervallum "-838: 59: 59" -ről "838: 59: 59" -re változik. A MySQL a TIME értékeket a 'HH: MM: SS' formátumban jeleníti meg. De beállíthatja az értékeket a TIME oszlopban. mindkét karakterláncot és számot használva. Lásd a 6.2.2.3. Szakasz "TIME Data Type" című részét.
Év két vagy négy számjegyű formátumban (az alapértelmezett formátum négyjegyű). Érvényes értékek: 1901 és 2155 között. 0000 a négy számjegyű év formátumban és 1970-2069 a kétjegyű formátum használatakor (70-69). A MySQL YEAR értékeket mutatja YYYY formátumban. Az YEAR oszlopban megadhat értékeket. mindkét karakterlánccal és számmal (az ÉV adattípus nem érhető el a MySQL 3.22 verziója előtt). Lásd: 6.2.2.4. Szakasz, "YEAR Data Type".
[NEMZETI] CHAR (M) [BINARY]
A tárolt hosszúságú hosszúságú sorok mindig a sor végén lévő szóközökkel vannak kitöltve a megadott méretig. Az M argumentum tartománya 0-tól 255 karakterig terjed (1-től 255-ig a MySQL 3.23 előtti verziókban). A záró üres elemek törlődnek az érték kinyomtatásakor. Ha a BINARY regiszter érzékenységi attribútuma nincs megadva. a CHAR értékek rendezve vannak, és az alapértelmezett ábécé szerint az eset-függetlenek.
A NATIONAL CHAR attribútum (vagy ennek megfelelő NCHAR rövidített formája) az ANSI SQL azonosítási módja, hogy a CHAR oszlopban a CHARACTER karakterkészletet kell használni. A MySQL-ben ez az alapértelmezett. A CHAR a CHARACTER rövidítése. A MySQL lehetővé teszi egy CHAR (0) típusú oszlop létrehozását.
Alapvetően ez akkor hasznos, ha össze kell egyeztetnie néhány régi alkalmazással, amely oszlop jelenlététől függ, de nem igazán használja ezt az értéket. Ezenkívül ez a szolgáltatás nagyon hasznos lehet, ha olyan oszlopra van szüksége, amely csak 2 értéket tartalmazhat, vagyis CHAR (0) (azaz olyan oszlopot, amelyet NOT NULL nem definiált. NULL vagy ""). Lásd: 6.2.3.1. Szakasz, "CHAR és VARCHAR adattípusok".
Ez a CHAR (1) szinonimája.
[NEMZETI] VARCHAR (M) [BINARY]
Egy sor változó hosszúságú. Megjegyzés: az eltárolt szóközöket az érték mentésekor eltávolítják (ez ellentétes az ANSI SQL specifikációval). Az M argumentum tartománya 0-tól 255 karakterig terjed (1-től 255-ig a MySQL 4.0.2-es verziója előtt). Ha a BINARY regiszter érzékenységi attribútuma nincs megadva. akkor a VARCHAR értékeket sorba rendezzük és összehasonlítjuk, mint eset-érzéketlenné. Lásd: 6.5.3.1. Szakasz, "Az oszlopdefiníciók csendes változásai". A VARCHAR kifejezés a CHARACTER VARYING rövidítése. Lásd: 6.2.3.1. Szakasz, "CHAR és VARCHAR adattípusok".