Дизайн баз данных MySQL, среди которых, для оптимизации производительности данных, учитывает тип полей, был собран некоторая информация, отсортирован и поделился. Эта статья посвящена синтаксическому введению MySQL целочисленных bigint, int, mediumint, smallint и tinyint, следующим образом:
1、bigint
От -2^63 (-9223372036854775808) до 2^63-1 (9223372036854775807) целочисленных данных (все числа) незнаковый диапазон равен 0 до
18446744073709551615。 Один бит — 8 байт.
2、int
Целое число нормального размера. Знаковый диапазон — от -2^31 (-2,147,483,648) до 2^31 - 1 (2,147,483,647) целых данных (все числа), а незнаковый диапазон — от 0 до 4294967295. Бит имеет размер 4 байта. Синоним int в SQL-92 — целое число.
3、mediumint
Целое число среднего размера с знаковым диапазоном от -8388608 до 8388607 и беззнаковым диапазоном от 0 до 16777215. Бит имеет размер 3 байта.
4、smallint
Маленькое целое число. Знаковый диапазон — от -2^15 (-32 768) до 2^15 - 1 (32 767) целых данных, а незнаковый диапазон — от 0 до 65535. Бит имеет размер 2 байта. MySQL предлагает более чем достаточно функций, и поскольку MySQL — это программное обеспечение с открытым исходным кодом, оно может значительно снизить общую стоимость владения.
5、tinyint
Знаковый диапазон — -128 - 127, а беззнаковый диапазон — это целочисленные данные от 0 до 255. Бит имеет размер 1 байт.
Обратите внимание, что все арифметические операции выполняются со знаковыми значениями BIGINT или DOUBLE, поэтому не следует использовать знаковые большие целые числа больше 9223372036854775807 (63 бита), кроме битовых функций! Обратите внимание, что когда оба параметра — это значения INT,-、 + и * будут использовать операцию BIGINT! Это значит, что если умножить на 2 больших целых числа (или на функцию, которая возвращает целое число), можно получить неожиданные результаты, если результат больше 9223372036854775807. Число с плавающей запятой не может быть беззнаковым: для числа с одной точностью с плавающей точкой его точность может быть <=24, для числа с двойной точностью — от 25 до 53, такие типы, как FLOAT и DOUBLE, описаны ниже. FLOAT(X) имеет тот же диапазон, что и FLOAT и DOUBLE, но размер дисплея и количество десятичных знаков не определены. В MySQL 3.23 это истинное значение с плавающей запятой. В ранних версиях MySQL FLOAT(precision) всегда имел 2 знака после запятой. Этот синтаксис предусмотрен для совместимости с ODBC.
Диапазон значений каждого типа данных в MySQL
TINYINT -128 - 127 TINYINT БЕЗ ПОДПИСИ 0 - 255 SMALLINT -32768 - 32767 SMALLINT UNSIGNED 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT БЕЗ ЗНАКА 0 - 16777215 INT или INTEGER -2147483648 - 2147483647 INT UNSIGNED или INTEGER UNSIGNED 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 БИГИНТ БЕЗ ПОДПИСИ 0 - 18446744073709551615 ПЛАТФОРМА -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 ДВОЙНАЯ или ДВОЙНАЯ ТОЧНОСТЬ или РЕАЛЬНАЯ -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 ДЕСЯТИЧНАЯ[(M,[D])] или ЧИСЛОВАЯ (M,D) Определяется M (длина всего числа, включая десятичную точку, количество цифр слева от неё, число цифр справа от десятичной, но не отрицательный знак) и D (число цифр справа от десятичной), M по умолчанию 10, а D — 0 ДАТА 1000-01-01 - 9999-12-31 ВРЕМЯ СВИДАНИЙ 1000-01-01 00:00:00 - 9999-12-31 23:59:59 ВРЕМЕННАЯ МЕТКА 1970-01-01 00:00:00 - Один день в 2037 году (я точно не знаю, какой, хе-хе) ВРЕМЯ -838:59:59' до 838:59:59 ГОД[(2|4)] По умолчанию — 4-битный формат, 4-битный — 1901 - 2155 0000, а 2-битный — 70-69 (1970-2069) CHAR(M) [БИНАРНЫЙ] или NCHAR(M) [БИНАРНЫЙ] M варьируется от 1 до 255, и если BINARY элемента нет, он чувствителен к регистру, а NCHAR означает использование стандартного набора символов. Заполните пробелы в базе данных, но они в конце автоматически удаляются при их удалении. [НАЦИОНАЛЬНО] ВАРЧАР(М) [БИНАРНЫЙ] M варьируется от 1 до 255. Пробелы в конце базы данных автоматически удаляются. TINYBLOB или TINYTEXT 255 (2^8-1) символов BLOB или TEXT 65535 (2^16-1) символов MEDIUMBLOB или MEDIUMTEXT 16777215 (2^24-1) персонажей LONGBLOB или LONGTEXT 4294967295 (2^32-1) персонажей ENUM('значение1','значение2',...) Всего может быть 65 535 различных значений SET('value1','value2',...) Число участников может быть до 64
|