MySQL-databasedesign, blant annet for optimalisering av dataytelse, er vurdering av felttyper svært viktig, samlet inn noe informasjon, sortert og delt, denne artikkelen handler om syntaksintroduksjonen av mysql integer bigint, int, mediumint, smallint og tinyint, som følger:
1、bigint
Fra -2^63 (-9223372036854775808) til 2^63-1 (9223372036854775807) heltallsdata (alle tall), er det usignerte området 0 til
18446744073709551615。 En bit er 8 byte.
2、int
Et heltall av normal størrelse. Det signerte området er -2^31 (-2 147 483 648) til 2^31 - 1 (2 147 483 647) heltallsdata (alle tall), og det usignerte området er 0 til 4294967295. En bit er 4 bytes stor. SQL-92-synonymet for int er heltall.
3、mediumint
Et mellomstort heltall med et signert område fra -8388608 til 8388607 og et usignert område fra 0 til 16777215. En bit er 3 byte stor.
4、smallint
Et lite heltall. Det signerte området er -2^15 (-32 768) til 2^15 - 1 (32 767) heltallsdata, og det usignerte området er 0 til 65535. En bit er 2 byte stor. MySQL tilbyr mer enn nok funksjoner, og siden MySQL er åpen kildekode, kan det betydelig redusere de totale eierkostnadene.
5、tinyint
Det signerte intervallet er -128 - 127, og det usignerte intervallet er heltallsdata fra 0 til 255. En bit er 1 byte stor.
Merk at alle aritmetiske operasjoner utføres med signerte BIGINT- eller DOUBLE-verdier, så du bør ikke bruke signerte store heltall større enn 9223372036854775807 (63 biter), bortsett fra for bitfunksjoner! Merk at når de to parameterne er HELTALLSVERDIER,-、 vil + og * bruke BIGINT-operasjonen! Dette betyr at hvis du multipliserer med 2 store heltall (eller fra en funksjon som returnerer et heltall), kan du få uventede resultater hvis resultatet er større enn 9223372036854775807. Et flyttalltall kan ikke avtegnes, for et enkeltpresisjons flyttalls kan presisjonen være <=24, for et flyttall med dobbel presisjon er det mellom 25 og 53, disse typene som FLYTTALL og DOBBEL beskrives nedenfor. FLOAT(X) har samme område som FLOAT og DOUBLE, men visningsstørrelsen og antall desimaler er udefinerte. I MySQL 3.23 er dette en ekte flyttallsverdi. I tidligere versjoner av MySQL hadde FLOAT(precision) alltid 2 desimaler. Denne syntaksen er gitt for ODBC-kompatibilitet.
Verdiområdet for hver datatype i MySQL
TINYINT -128 - 127 TINYINT USIGNERT 0 - 255 SMALLINT -32768 - 32767 SMALLINT USIGNERT 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT USIGNERT 0 - 16777215 INT eller HELTALL -2147483648 - 2147483647 INT USIGNERT eller HELTALL USIGNERT 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT USIGNERT 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 DOBBEL eller DOBBEL PRESISJON eller EKTE -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 DESIMAL[(M,[D])] eller NUMERISK(M,D) Bestemmet av M (lengden på hele tallet, inkludert desimalpunktet, antall sifre til venstre for desimalpunktet, antall sifre til høyre for desimalpunktet, men ikke det negative tegnet) og D (antall sifre til høyre for desimalpunktet), 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 vet ikke nøyaktig hvilken dag, hehe) TID -838:59:59' til 838:59:59 ÅR[(2|4)] Standard er 4-bits format, 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 til 255, og hvis det ikke finnes noe BINÆRT element, er det mellombokstavsfølsomt, og NCHAR betyr å bruke standard tegnsett. Fyll inn med mellomrom i databasen, men mellomrommene på slutten vil automatisk bli fjernet når du fjerner dem. [NASJONALT] VARCHAR(M) [BINÆR] M varierer fra 1 til 255. Mellomrommene på slutten av databasen vil automatisk bli 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',...) Det kan være totalt 65 535 forskjellige verdier SET('value1','value2',...) Det er opptil 64 medlemmer
|