Projekt baz danych MySQL w celu optymalizacji wydajności danych, uwzględnienie typu pola jest bardzo ważne, zebrano pewne informacje, posortowano i udostępnione. Ten artykuł dotyczy wprowadzenia składni mysql integer bigint, int, mediumint, smallint i tinyint, w następujący sposób:
1、bigint
Od -2^63 (-9223372036854775808) do 2^63-1 (9223372036854775807) danych całkowitych (wszystkie liczby), zakres nieznakiem wynosi 0 do
18446744073709551615。 Jeden bit to 8 bajtów.
2、int
Liczba całkowita o normalnym rozmiarze. Zakres ze znakiem to -2^31 (-2 147 483 648) do 2^31 - 1 (2 147 483 647) danych całkowitych (wszystkie liczby), a zakres bez znaku to od 0 do 4294967295. Bit ma rozmiar 4 bajty. Synonim int w SQL-92 to liczba całkowita.
3、mediumint
Średniej wielkości liczba całkowita o zakresie ze znakiem od -8388608 do 8388607 oraz nieznakiem od 0 do 16777215. Bit ma rozmiar 3 bajtów.
4、smallint
Mała liczba całkowita. Zakres ze znakiem wynosi od -2^15 (-32 768) do 2^15 - 1 (32 767) danych całkowitoliczbowych, a zakres bez znaku to od 0 do 65535. Bit ma rozmiar 2 bajtów. MySQL oferuje więcej niż wystarczające funkcje, a ponieważ MySQL jest oprogramowaniem open source, może znacząco obniżyć całkowite koszty posiadania.
5、tinyint
Zakres ze znakiem to -128 - 127, a zakres bez znaku to dane całkowite od 0 do 255. Bit ma rozmiar 1 bajt.
Należy zauważyć, że wszystkie operacje arytmetyczne wykonuje się ze znakomitym BIGINT lub DOUBLE, więc nie powinno się używać dużych liczb całkowitych ze znakiem większych niż 9223372036854775807 (63 bity), z wyjątkiem funkcji bitowych! Należy zauważyć, że gdy oba parametry są wartościami całkowitym,-、 + i * będą używać operacji BIGINT! Oznacza to, że jeśli pomnożysz przez 2 duże liczby całkowite (lub z funkcji zwracającej liczbę całkowitą), możesz uzyskać nieoczekiwane wyniki, jeśli wynik jest większy niż 9223372036854775807. Liczby zmiennoprzecinkowej nie można odłączyć znaku; dla liczby zmiennoprzecinkowej o jednoprecyzyjnej precyzji jej precyzja może wynosić <=24, dla podwójnej precyzji zmiennoprzecinkowej mieści się w przedziale od 25 do 53, a typy takie jak FLOAT i DOUBLE opisano poniżej. FLOAT(X) ma taki sam zakres jak FLOAT i DOUBLE, ale rozmiar wyświetlacza i liczba miejsc po przecinku są nieokreślone. W MySQL 3.23 jest to prawdziwa wartość zmiennoprzecinkowa. We wcześniejszych wersjach MySQL FLOAT(precision) zawsze miał 2 miejsca po przecinku. Ta składnia została udostępniona dla kompatybilności z ODBC.
Zakres wartości każdego typu danych w MySQL
TINYINT -128 - 127 TINYINT NIEPODPISANY 0 - 255 SMALLINT -32768 - 32767 SMALLINT BEZ PODPISU 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT BEZ PODPISU 0 - 16777215 INT lub CAŁKOWITE -2147483648 - 2147483647 INT NIEPODPISANY lub INTEGER NIEPODPISANY 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT BEZ PODPISU 0 - 18446744073709551615 PLATFORMA -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 PODWÓJNA lub PODWÓJNA PRECYZJA albo REAL -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 DZIESIĘTNY[(M,[D])] lub NUMERYCZNY(M,D) Określany przez M (długość całej liczby, wliczając przecinek dziesiętny, liczbę cyfr po lewej stronie przecinka, liczbę cyfr po prawej od przecinka, ale nie znak ujemny) oraz D (liczba cyfr po prawej stronie przecinka), M domyślnie wynosi 10, a D 0 DATA 1000-01-01 - 9999-12-31 CZAS DATY 1000-01-01 00:00:00 - 9999-12-31 23:59:59 ZNACZNIK CZASU 1970-01-01 00:00:00 - Jeden dzień w 2037 (nie wiem dokładnie który, hehe) GODZINA -838:59:59' do 838:59:59 ROK[(2|4)] Domyślny to format 4-bitowy, 4-bitowy to 1901-2155 0000, a 2-bitowy to 70-69 (1970-2069) CHAR(M) [BINARNY] lub NCHAR(M) [BINARNY] M waha się od 1 do 255, a jeśli nie ma elementu BINARY, jest to rozróżniające wielka litera, a NCHAR oznacza użycie domyślnego zestawu znaków. Wypełnij w bazie danych polami, ale spacje na końcu zostaną automatycznie usunięte po ich usunięciu. [NATIONAL] VARCHAR(M) [BINARNY] M waha się od 1 do 255. Przestrzenie na końcu bazy danych zostaną automatycznie usunięte. TINYBLOB lub TINYTEXT 255 (2^8-1) postaci BLOB lub TEXT 65535 (2^16-1) postaci MEDIUMBLOB lub MEDIUMTEXT Postacie 16777215 (2^24-1) LONGBLOB lub LONGTEXT Postacie 4294967295 (2^32-1) ENUM('value1','value2',...) Może istnieć łącznie 65 535 różnych wartości SET('value1','value2',...) Liczba członków może być 64
|