MySQL-databasdesign, bland annat för optimering av dataprestanda, fälttyp, är mycket viktigt, samlat in viss information, sorterad och delad, denna artikel handlar om syntaxintroduktionen av MySQL heltalsbigint, int, mediumint, smallint och tinyint, enligt följande:
1、bigint
Från -2^63 (-9223372036854775808) till 2^63-1 (9223372036854775807) heltalsdata (alla tal) är det osignerade intervallet 0 till
18446744073709551615。 En bit är 8 byte.
2、int
Ett normalstort heltal. Det signerade intervallet är -2^31 (-2 147 483 648) till 2^31 - 1 (2 147 483 647) heltalsdata (alla tal), och det osignerade intervallet är 0 till 4294967295. En bit är 4 byte stor. SQL-92-synonymen för int är heltall.
3、mediumint
Ett medelstort heltal med ett signerat intervall från -8388608 till 8388607 och ett osignerat intervall från 0 till 16777215. En bit är 3 byte stor.
4、smallint
Ett litet heltal. Det signerade intervallet är -2^15 (-32 768) till 2^15 - 1 (32 767) heltalsdata, och det osignerade intervallet är 0 till 65535. En bit är 2 byte stor. MySQL erbjuder mer än tillräckligt med funktioner, och eftersom MySQL är öppen källkod kan det avsevärt minska den totala ägandekostnaden.
5、tinyint
Det signerade intervallet är -128 - 127, och det osignerade intervallet är heltalsdata från 0 till 255. En bit är 1 byte stor.
Observera att alla aritmetiska operationer utförs med signerade BIGINT- eller DOUBLE-värden, så du bör inte använda signerade stora heltal större än 9223372036854775807 (63 bitar), förutom för bitfunktioner! Observera att när de två parametrarna är HELTALSVÄRDEN,-、 + och * kommer att använda BIGINT-operationen! Detta innebär att om du multiplicerar med 2 stora heltal (eller från en funktion som returnerar ett heltal) kan du få oväntade resultat om resultatet är större än 9223372036854775807. Ett flyttalstal kan inte vara osignerat, för ett flyttal med enkel precision kan dess precision vara <=24, för ett flyttal med dubbel precision är det mellan 25 och 53, dessa typer som FLYTTAL och DUBBEL beskrivs nedan. FLOAT(X) har samma intervall som FLOAT och DOUBLE, men visningsstorleken och antalet decimaler är odefinierade. I MySQL 3.23 är detta ett verkligt flyttalsvärde. I tidigare versioner av MySQL hade FLOAT(precision) alltid två decimaler. Denna syntax tillhandahålls för ODBC-kompatibilitet.
Värdeintervallet för varje datatyp i MySQL
TINYINT -128 - 127 TINYINT OSIGNERAD 0 - 255 SMALLINT -32768 - 32767 SMALLINT OSIGNERAD 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT OSIGNERAD 0 - 16777215 INT eller HELTAL -2147483648 - 2147483647 INT OSIGNERAD eller HELTAL OSIGNERAD 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT OSIGNERAD 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 DUBBEL eller DUBBEL PRECISION eller REAL -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2250738585072014E-308 - 1.7976931348623157E+308 DECIMAL[(M,[D])] eller NUMERISK(M,D) Bestämt av M (längden på hela talet, inklusive decimalpunkten, antalet siffror till vänster om decimalpunkten, antalet siffror till höger om decimalpunkten, men inte negativtecknet) och D (antalet siffror till höger om decimalpunkten), går M automatiskt till 10 och D till 0 DATUM 1000-01-01 - 9999-12-31 DATETIME 1000-01-01 00:00:00 - 9999-12-31 23:59:59 TIDSSTÄMPEL 1970-01-01 00:00:00 - En dag 2037 (jag vet inte exakt vilken dag, hehe) TID -838:59:59' till 838:59:59 ÅR[(2|4)] Standardformatet är 4-bitarsformatet, 4-bitarsformatet är 1901–2155 0000, och 2-bitarsformatet är 70–69 (1970–2069) CHAR(M) [BINÄR] eller NCHAR(M) [BINÄR] M varierar från 1 till 255, och om det inte finns något BINÄRT element är det kasuskänsligt, och NCHAR betyder att man använder standardteckenuppsättningen. Fyll i med rutor i databasen, men mellanrummen i slutet tas automatiskt bort när du tar bort dem. [NATIONELLT] VARCHAR(M) [BINÄR] M varierar från 1 till 255. Mellanrummen i databasens slut kommer automatiskt att tas bort. TINYBLOB eller TINYTEXT 255 (2^8-1) tecken BLOB eller TEXT 65535 (2^16-1) tecken MEDIUMBLOB eller MEDIUMTEXT 16777215 (2^24-1) karaktärer LONGBLOB eller LONGTEXT 4294967295 (2^32-1) karaktärer ENUM('value1','value2',...) Det kan finnas totalt 65 535 olika värden SET('value1','value2',...) Det finns upp till 64 medlemmar
|