A MySQL adatbázis-tervezés, többek között az adatteljesítmény optimalizálásához, a mezőtípus figyelembevételéhez nagyon fontos, gyűjtöttek információkat, rendezték és megosztották, ez a cikk a mySQL egész szám bigint, int, mediumint, smallint és tinyint szintaxisának bevezetéséről szól, az alábbiak szerint:
1、bigint
-2^63 (-9223372036854775808) és 2^63-1 (9223372036854775807) egész adat (minden szám) között a nem jelezett tartomány 0-tól a
18446744073709551615。 Egy bit 8 bájt.
2、int
Egy normál méretű egész szám. Az aláírt tartomány -2^31 (-2 147 483 648) és 2^31 - 1 (2 147 483 647) egész szám (minden szám), az alárendellen tartomány pedig 0-tól 4294967295-ig. A bit 4 bájt méretű. Az int SQL-92 szinonimája az egész szám.
3、mediumint
Egy közepes méretű egész szám, amelynek jele -8388608-től 8388607-ig, és nem aláírt tartománya 0-tól 16777215-ig. A bit mérete 3 bájt.
4、smallint
Egy kis egész szám. Az aláírt tartomány -2^15 (-32 768) és 2^15 - 1 (32 767) egész adat, a jeltelen tartomány pedig 0 és 65535 között. A bit 2 bájt méretű. A MySQL több mint elegendő funkciót kínál, és mivel a MySQL nyílt forráskódú szoftver, jelentősen csökkentheti a tulajdonlás teljes költségét.
5、tinyint
Az aláírt tartomány -128 - 127, az aláíratlan tartomány pedig 0 és 255 közötti egész számadatok. A bit mérete 1 bájt.
Fontos megjegyezni, hogy minden aritmetikai műveletet BIGINT vagy DOUBLE értékekkel végzik, ezért nem szabad 9223372036854775807-nál nagyobb (63 bit) aláírt nagyszámú egész számot használni, kivéve a bitfüggvényeket! Fontos megjegyezni, hogy amikor a két paraméter EGÉSZ érték,-、 + és * a BIGINT műveletet használják! Ez azt jelenti, hogy ha 2 nagy egész számmal szorozzuk (vagy egy olyan függvényből, amely egész számot ad vissza), akkor váratlan eredményeket kaphatunk, ha az eredmény nagyobb, mint 9223372036854775807. Egy lebegőpontos szám nem lehet nem aláírható, egy egy precíziós lebegőpontos szám esetén a pontossága lehet <=24, a dupla pontosságú lebegőpontos számnál 25 és 53 között van, ezeket a típusokat, mint a FLOAT és DOUBLE alább ismertetjük. A FLOAT(X) tartománya megegyezik a FLOAT és a DOUBLE tartományával, de a kijelző mérete és a tizedesszám nem meghatározott. A MySQL 3.23-ban ez egy valódi lebegőpontos érték. A MySQL korábbi verzióiban a FLOAT(precision) mindig két tizedesjegyből állt. Ez a szintaxis az ODBC kompatibilitáshoz van biztosítva.
Az egyes adattípusok értéktartománya a MySQL-ben
TINYINT -128 - 127 TINYINT ALÁÍRÁS NÉLKÜL 0 - 255 LITTLEINT -32768 - 32767 SMALLINT ALÁÍRATLAN 0 - 65535 MEDIUMINT -8388608 - 8388607 MÉDIUM ALÁÍRATLAN 0 - 16777215 INT vagy EGÉSZ SZÁM -2147483648 - 2147483647 INT NEM ALÁÍRVA vagy EGÉSZ SZÁM NEM ALÁÍRVA 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT ALÁÍRATLAN 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3,402823466E+38 DUPLA VAGY DUPLA PONTOSSÁG VAGY VALÓS -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 DECIM[(m,[d])] vagy NUMERIC(M,D) M (az egész szám hossza, beleértve a tizedespontot, a tizedes bal oldali számjegyek számát, a tizedes jobb oldali számjegyek számát, de a negatív jelet nem) és D-vel (a tizedesponttól jobbra lévő számjegyek számával) határozzák meg, M alapértelmezetten 10, D pedig 0 DÁTUM 1000-01-01 - 9999-12-31 DÁTUM 1000-01-01 00:00:00 - 9999-12-31 23:59:59 IDŐBÉLYEG 1970-01-01 00:00:00 - Egy nap 2037-ben (nem tudom pontosan, melyik nap, hehe) IDŐ -838:59:59' és 838:59:59 között ÉV[(2|4)] Az alapértelmezett formátum 4 bites, a 4 bites formátum 1901 - 2155 0000, a 2 bites formátum pedig 70-69 (1970-2069) CHAR(M) [BINÁRIS] vagy NCHAR(M) [BINÁRIS] Az M 1-től 255-ig terjed, és ha nincs BINARY elem, akkor az kis- és nagybetűre érzékeny, az NCHAR pedig az alapértelmezett karakterkészletet használ. Töltsd ki az adatbázisban lévő helyeket, de a végén lévő helyek automatikusan eltűnnek, amikor kiveszed őket. [ORSZÁGOS] VARCHAR(M) [BINÁRIS] Az M 1 és 255 között mozog. Az adatbázis végén lévő helyek automatikusan elkerülnek. TINYBLOB vagy TINYTEXT 255 (2^8-1) karakter FOLT vagy SZÖVEG 65535 (2^16-1) karakter MEDIUMBLOB vagy MEDIUMTEXT 16777215 (2^24-1) karakterek LONGBLOB vagy LONGTEXT 4294967295 (2^32-1) karakterek ENUM('érték1', 'érték2',...) Összesen 65 535 különböző érték lehet SET('value1','value2',...) Akár 64 tag is lehet
|