Návrh databáze MySQL pro optimalizaci výkonu dat je velmi důležitý pro zohlednění typu pole, shromáždil jsem některé informace, roztřídil a sdílel, tento článek se zabývá syntaxí zavedení mysql integer bigint, int, mediumint, smallint a tinyint, a to následovně:
1、bigint
Od -2^63 (-9223372036854775808) do 2^63-1 (9223372036854775807) celočíselných dat (všechna čísla) je rozsah bez znaménka od 0 do
18446744073709551615。 Jeden bit má 8 bajtů.
2、int
Normálně velké celé číslo. Podepsaný rozsah je -2^31 (-2 147 483 648) do 2^31 - 1 (2 147 483 647) celočíselných dat (všechna čísla) a rozsah bez znaménka je od 0 do 4294967295. Bit má velikost 4 bajty. Synonymum pro int v SQL-92 je celočíselné.
3、mediumint
Středně velké celé číslo se znaménkovým rozsahem od -8388608 do 8388607 a neznaménkovým rozsahem od 0 do 16777215. Bit má velikost 3 bajty.
4、smallint
Malé celé číslo. Podepsaný rozsah je od -2^15 (-32 768) do 2^15 - 1 (32 767) celočíselných dat a rozsah bez znaménka je od 0 do 65535. Bit má velikost 2 bajty. MySQL nabízí více než dostatek funkcí a protože je MySQL open source software, může výrazně snížit celkové náklady na vlastnictví.
5、tinyint
Podepsaný rozsah je -128 - 127 a neznaménkový rozsah jsou celočíselná data od 0 do 255. Bit má velikost 1 bajt.
Všimněte si, že všechny aritmetické operace se provádějí se znamepsanými hodnotami BIGINT nebo DOUBLE, takže byste neměli používat podepsaná velká celá čísla větší než 9223372036854775807 (63 bitů), kromě bitových funkcí! Všimněte si, že když jsou oba parametry celočíselné hodnoty,-、 + a * použijí operaci BIGINT! To znamená, že pokud vynásobíte dvěma velkými celými čísly (nebo z funkce, která vrací celé číslo), můžete získat neočekávané výsledky, pokud je výsledek větší než 9223372036854775807. Číslo s plovoucí desetinnou čárkou nelze odznaménkovat; pro jednoprvkové číslo s plovoucí desetinnou čárkou může být jeho přesnost <=24, u dvojnásobně přesné hodnoty je mezi 25 a 53, tyto typy jako FLOAT a DOUBLE jsou popsány níže. FLOAT(X) má stejný rozsah jako FLOAT a DOUBLE, ale velikost displeje a počet desetinných desítek nejsou definovány. V MySQL 3.23 je to skutečná hodnota s plovoucí desetinnou čárkou. V dřívějších verzích MySQL měl FLOAT(precision) vždy dvě desetinná místa. Tato syntax je určena pro kompatibilitu s ODBC.
Rozsah hodnot každého datového typu v MySQL
TINYINT -128 - 127 TINYINT NEPODEPSANÝ 0 - 255 SMALLINT -32768 - 32767 SMALLINT NEPODEPSANÝ 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT NEPODEPSANÝ 0 - 16777215 INT nebo CELÉ ČÍSLO -2147483648 - 2147483647 INT NEPODEPSÁNO nebo INTEGER NEPODEPSANÉ 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT NEPODEPSANÝ 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 DVOJITÁ nebo DVOJITÁ PŘESNOST nebo REAL -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 DESETINNÉ[(M,[D])] nebo NUMERICKÉ(M,D) Určeno podle M (délka celého čísla včetně desetinné čárky, počtu číslic nalevo od desetinné čárky, počtu číslic napravo od desetinné čárky, ale ne záporného znaménka) a D (počet číslic napravo od desetinné čárky) M je výchozí 10 a D 0 DATUM 1000-01-01 - 9999-12-31 DATETIME 1000-01-01 00:00:00 - 9999-12-31 23:59:59 ČASOVÉ RAZÍTKO 1970-01-01 00:00:00 - Jeden den v roce 2037 (nevím přesně který, hehe) ČAS -838:59:59' na 838:59:59 ROK[(2|4)] Výchozí je 4bitový formát, 4bitový formát 1901 - 2155 000 a 2bitový formát 70-69 (1970-2069) CHAR(M) [BINÁRNÍ] nebo NCHAR(M) [BINÁRNÍ] M se pohybuje od 1 do 255, a pokud není BINÁRNÍ položka, je to citlivé na velká písmena, a NCHAR znamená použití výchozí znakové sady. Doplňte mezery v databázi, ale mezery na konci budou automaticky odstraněny, když je odstraníte. [NATIONAL] VARCHAR(M) [BINÁRNÍ] M se pohybuje od 1 do 255. Mezery na konci databáze budou automaticky odstraněny. DROBNÝ BLOB nebo TINYTEXT 255 (2^8-1) postav BLOB nebo TEXT 65535 (2^16-1) postav MEDIUMBLOB nebo MEDIUMTEXT 16777215 (2^24-1) postavy LONGBLOB nebo LONGTEXT 4294967295 (2^32-1) postavy ENUM('hodnota1','hodnota2',...) Celkem může existovat 65 535 různých hodnot SET('value1','value2',...) Členů je až 64
|