Latest web development tutorials

Typy danych MySQL

Definicje typów danych MySQL w dziedzinie optymalizacji baz danych jest bardzo ważne.

MySQL obsługuje wiele typów można podzielić na trzy kategorie: numeryczną, data / czas, i ciąg (znak) typów.


Typ wartości

MySQL obsługuje wszystkie standardowe typy danych SQL numerycznych.

Typy te obejmują ścisłe liczbowe typy danych (Integer, SMALLINT, dziesiętnym i numerycznej), a także przybliżone numerycznych typów danych (float, REAL i podwójnej precyzji).

Słowo INT jest synonimem INTEGER, a kluczowym grudnia jest synonimem przecinku.

BIT przechowuje dane wartości typu bit-polowe i obsługuje MyISAM, pamięci, InnoDB oraz BDB tabelach.

Jako standard SQL, MySQL obsługuje również typy całkowite TINYINT, MEDIUMINT i BigInt. Poniższa tabela pokazuje, przechowywanie i zakres dla każdego typu całkowitej wymagane.

typ rozmiar Zakres (podpisany) Zasięg (bez znaku) stosowanie
TINYINT 1 bajt (-128127) (0255) Małe wartości całkowitych
SMALLINT 2 bajty (768,32 -32 767) (535 0,65) wartość całkowita
MEDIUMINT 3 bajty (-8388 608,8 388 607) (0,16 777215) wartość całkowita
INT lub INTEGER 4 bajty (-2 147 483 648,2 147 483 647) (0,4 294 967 295) wartość całkowita
BIGINT 8 bajtów (-9.233.372.036.854.775 808,9 223.372.036.854.775 807) (0,18 446.744.073.709.551 615) Maksymalna wartość całkowita
FLOAT 4 bajty (-3,402 823 466 E + 38,1.175 494 351 E-38), 0, (1,175 494 351 E-38,3.402 823 466 351 E + 38) 0, (1,175 494 351 E-38,3.402 823 466 E + 38) Wartości zmiennoprzecinkowe pojedynczej precyzji
DOUBLE 8 bajtów (1,797 693 134 862 315 7 E + 308,2.225 073 858 507 201 4 E-308), 0, (2,225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) 0, (2,225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) Wartości zmiennoprzecinkowe o podwójnej precyzji
DZIESIĘTNY Z dziesiętnego (M, D), jeśli M> D, M + 2 jest inaczej D + 2 To zależy od wartości M i D To zależy od wartości M i D wartość dziesiętna

Data i czas Rodzaje

Wskazuje datę i godzinę dla typu wartości czasowej DATETIME, data, TIMESTAMP, czas i rok.

Każdy typ ma zasięg czasie ważne wartości i wartość "zero", należy użyć wartości "zero", gdy wartość określonego bezprawnego MySQL nie mogą być reprezentowane.

TIMESTAMP typ ma zastrzeżonych funkcji automatycznej aktualizacji, która zostanie opisana później.

typ rozmiar
(Byte)
zakres format stosowanie
DATA 3 1.01.1000 / 9999-12-31 YYYY-MM-DD Data wartości
CZAS 3 '-838: 59: 59' / '838: 59: 59 " HH: MM: SS Wartość czasu trwania lub
ROK 1 1901/2155 YYYY Rok Wartość
DATETIME 8 1000-01-0100: 00: 00 / 9999-12-31 23:59:59 YYYY-MM-DD HH: MM: SS Mieszanie wartości daty i czasu
TIMESTAMP 4 Jakiś 00/2037 Data wydania: 1970-01-01 00:00 RRRRMMDD GGMMSS Data Mieszanie i wartość czasu, datownik

Typ String

To odnosi się do typu ciąg CHAR, VARCHAR, BINARY, VARBINARY, BLOB, tekst, ENUM i SET. W tej sekcji opisano, jak działają te typy i jak korzystać z tych typów w zapytaniu.

typ rozmiar stosowanie
CHAR 0-255 bajtów O stałej długości łańcuch
VARCHAR 0-65535 bajtów ciągi o zmiennej długości
TINYBLOB 0-255 bajtów Nie więcej niż 255 znaków w ciąg binarny
TINYTEXT 0-255 bajtów Krótkie ciągi tekstowe
BLOB 0-65535 bajtów Długie dane tekstowe w postaci binarnej
TEKST 0-65535 bajtów Długi danych tekstowych
MEDIUMBLOB 0-16777215 bajtów Binary forma średniej długości danych tekstowych
MEDIUMTEXT 0-16777215 bajtów Średniej długości danych tekstowych
LONGBLOB 0-4294967295 bajtów Wielkie dane tekstowe w postaci binarnej
longtext 0-4294967295 bajtów Wielki dane tekstowe

Podobny typ CHAR i VARCHAR, ale zapisywać i pobierać różne sposoby. Ich maksymalna długość i czy przestrzenie końcowe są zatrzymywane, to jest różne. Przechowywanie lub proces pobierania bez konwersją.

BINARY i VARBINARY typ jest podobny do CHAR i VARCHAR, oprócz tego, że zawierają one ciągi binarne zamiast strun nie binarnych. Oznacza to, że zawierają one ciągi bajtów zamiast łańcuchów znaków. Oznacza to, że nie mają one zestaw znaków i sortowania i porównania są oparte na wartościach liczbowych w bajtach.

BLOB jest duży obiekt binarny, który może posiadać zmienną ilość danych. Istnieją cztery typy BLOB: TINYBLOB, blob, MEDIUMBLOB i LONGBLOB. Różnią się one pomieścić tylko maksymalną wartość długości.

Istnieją cztery rodzaje tekstem: TINYTEXT, tekst, MEDIUMTEXT i longtext. Odpowiadają one czterech rodzajów typu BLOB, mają takie same maksymalne długości i wymogów związanych z przechowywaniem.