MySQL-databasedesign, blandt andet for optimering af dataydelse, felttype, er meget vigtigt, indsamlet nogle oplysninger, sorteret og delt, denne artikel handler om syntaksintroduktionen af mysql integer bigint, int, mediumint, smallint og tinyint, som følger:
1、bigint
Fra -2^63 (-9223372036854775808) til 2^63-1 (9223372036854775807) heltalsdata (alle tal) er det usignerede interval 0 til
18446744073709551615。 En bit er 8 bytes.
2、int
Et heltal af normal størrelse. Det signerede interval er -2^31 (-2.147.483.648) til 2^31 - 1 (2.147.483.647) heltalsdata (alle tal), og det usignerede interval er 0 til 4294967295. En bit er 4 bytes stor. SQL-92-synonymet for int er heltal.
3、mediumint
Et mellemstort heltal med et signeret interval fra -8388608 til 8388607 og et usigneret interval fra 0 til 16777215. En bit er 3 bytes stor.
4、smallint
Et lille heltal. Det signerede interval er -2^15 (-32.768) til 2^15 - 1 (32.767) heltalsdata, og det usignerede interval er 0 til 65535. En bit er 2 bytes stor. MySQL tilbyder mere end nok funktioner, og fordi MySQL er open source-software, kan det markant reducere de samlede ejeromkostninger.
5、tinyint
Det signerede interval er -128 - 127, og det usignerede interval er heltalsdata fra 0 til 255. En bit er 1 byte stor.
Bemærk, at alle aritmetiske operationer udføres med signerede BIGINT- eller DOUBLE-værdier, så du bør ikke bruge signerede store heltal større end 9223372036854775807 (63 bit), undtagen til bitfunktioner! Bemærk, at når de to parametre er HELTALSVÆRDIER,-、 vil + og * bruge BIGINT-operationen! Det betyder, at hvis du ganger med 2 store heltal (eller fra en funktion, der returnerer et heltal), kan du få uventede resultater, hvis resultatet er større end 9223372036854775807. Et flydende kommatal kan ikke være usigneret; for et enkeltpræcisions flydende kommatal kan dets præcision være <=24, for et flydende kommatal med dobbelt præcision ligger det mellem 25 og 53, disse typer som FLOAT og DOUBLE beskrives nedenfor. FLOAT(X) har samme interval som FLOAT og DOUBLE, men visningsstørrelsen og antallet af decimaler er udefinerede. I MySQL 3.23 er dette en ægte flydende kommatal-værdi. I tidligere versioner af MySQL havde FLOAT(precision) altid 2 decimaler. Denne syntaks er til rådighed for ODBC-kompatibilitet.
Værdiintervallet for hver datatype i MySQL
TINYINT -128 - 127 TINYINT UDEN UNDERSKRIFT 0 - 255 SMALLINT -32768 - 32767 SMALLINT USIGNERET 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT USIGNERET 0 - 16777215 INT eller HELTAL -2147483648 - 2147483647 INT USIGNERET eller HELTAL USIGNERET 0 - 4294967295 BIGGINT -9223372036854775808 - 9223372036854775807 BIGINT UDEN KONTRAKT 0 - 18446744073709551615 FLÅD -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 DOBBELT eller DOBBELT PRÆCISION eller ÆGTE -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 DECIMAL[(M,[D])] eller NUMERISK(M,D) Bestemt af M (længden af hele tallet, inklusive decimalpunktet, antallet af cifre til venstre for decimalpunktet, antallet af cifre til højre for decimalpunktet, men ikke det negative tegn) og D (antallet af cifre til højre for decimalpunktet), går M automatisk til 10 og D til 0 DATO 1000-01-01 - 9999-12-31 DATO 1000-01-01 00:00:00 - 9999-12-31 23:59:59 TIDSSTEMPEL 1970-01-01 00:00:00 - En dag i 2037 (Jeg ved ikke præcis hvilken dag, hehe) TIDSPUNKT -838:59:59' til 838:59:59 ÅR[(2|4)] Standardformatet er 4-bit, 4-bit formatet er 1901 - 2155.0000, og 2-bit formatet er 70-69 (1970-2069) CHAR(M) [BINÆR] eller NCHAR(M) [BINÆR] M varierer fra 1 - 255, og hvis der ikke er noget BINÆRT element, er det bogstavsfølsomt, og NCHAR betyder brug af standardtegnsættet. Udfyld med mellemrum i databasen, men mellemrummene til sidst bliver automatisk fjernet, når du fjerner dem. [NATIONALT] VARCHAR(M) [BINÆR] M varierer fra 1 til 255. Mellemrummene i slutningen af databasen vil automatisk blive fjernet. TINYBLOB eller TINYTEXT 255 (2^8-1) tegn BLOB eller TEKST 65535 (2^16-1) tegn MEDIUMBLOB eller MEDIUMTEXT 16777215 (2^24-1) karakterer LONGBLOB eller LONGTEXT 4294967295 (2^32-1) karakterer ENUM('value1','value2',...) Der kan være i alt 65.535 forskellige værdier SET('value1','value2',...) Der er op til 64 medlemmer
|