2015-06-08 2 views

ответ

0

Разница заключается в хранении.

TINYINT является 1 байт. MEDIUMINT - 3 байта. INT - 4 байта. TINYINT(3) 3 здесь ширина дисплея. Ширина дисплея не связана с диапазоном значений, которые может содержать тип.

Таким образом, TINYINT и TINYINT(3) принимает такое же хранение, но презентация отличается.

0

MySQL поддерживает стандартные стандартные значения SQL INTEGER (или INT) и SMALLINT. В качестве дополнения к стандарту MySQL также поддерживает целые типы TINYINT, MEDIUMINT и BIGINT. В следующей таблице показано требуемое хранилище и диапазон для каждого целочисленного типа.

enter image description here

См свою главную website

+0

Я уже прочитал это, прежде чем задавать вопрос! :) Дело в том, что размер поля может быть установлен вручную и не зависит от типа, не так ли? –

+0

Если вы будете использовать тип данных «Tinyint» для своего поля, тогда, если попытаться ввести данные за пределы своего диапазона, данные будут преобразованы в значение в пределах диапазона. Поэтому я считаю, что выбор типа данных имеет значение в соответствии с вашими требованиями. –

+0

О, я только что нашел ответ сам! Если кто-то интересен: https://dev.mysql.com/doc/refman/5.6/en/numeric-type-attributes.html –

0

INT - нормального размера целое число, которое может быть знаком или без знака. Если подписанный, допустимый диапазон от -2147483648 до 2147483647. Если без знака допустимый диапазон составляет от 0 до 4294967295. Вы можете указать ширину до 11 цифр.

TINYINT - очень маленькое целое число, которое может быть подписано или без знака. Если подписанный, допустимый диапазон от -128 до 127. Если unsigned, допустимый диапазон от 0 до 255. Вы можете указать ширину до 4 цифр.

SMALLINT - небольшое целое число, которое может быть подписано или без знака. Если подписанный, допустимый диапазон от -32768 до 32767. Если unsigned, допустимый диапазон от 0 до 65535. Вы можете указать ширину до 5 цифр.

MEDIUMINT - Среднее целое число, которое может быть подписано или без знака. Если подписанный, допустимый диапазон от -8388608 до 8388607. Если без знака, допустимый диапазон от 0 до 16777215. Вы можете указать ширину до 9 цифр.

BIGINT - большое целое число, которое может быть подписано или без знака. Если подписанный, допустимый диапазон от -9223372036854775808 до 9223372036854775807. Если без знака допустимый диапазон составляет от 0 до 18446744073709551615. Вы можете указать ширину до 20 цифр.

FLOAT (M, D) - Число с плавающей запятой, которое не может быть без знака. Вы можете определить длину отображения (M) и количество десятичных знаков (D). Это не требуется и по умолчанию будет 10,2, где 2 - число десятичных знаков, а 10 - общее количество цифр (включая десятичные числа). Десятичная точность может достигать 24 мест для FLOAT.

DOUBLE (M, D) - число с плавающей запятой двойной точности, которое не может быть беззнаковым. Вы можете определить длину отображения (M) и количество десятичных знаков (D). Это не требуется, и по умолчанию будет 16,4, где 4 - число десятичных знаков. Десятичная точность может достигать 53 мест для DOUBLE. REAL является синонимом DOUBLE.

DECIMAL (M, D) - Неопроверенное число с плавающей запятой, которое не может быть беззнаковым. В распакованных десятичных знаках каждое десятичное число соответствует одному байту. Определение длины дисплея (M) и количества десятичных знаков (D) требуется. NUMERIC - синоним DECIMAL.

http://www.tutorialspoint.com/mysql/mysql-data-types.htm

+0

'FLOAT/DOUBLE (M, N)' должно «никогда» не использоваться. Используйте только «FLOAT/DOUBLE». –

0

MySQL поддерживает расширение для указания, необязательно ширины отображения целочисленных типов данных в скобках после ключевого слова для базового типа. Например, INT (4) указывает INT с шириной отображения четырех цифр. Эта дополнительная ширина экрана может использоваться приложениями для отображения целочисленных значений, имеющих ширину, меньшую ширины, указанной для столбца, путем добавления пробелов влево. (То есть эта ширина присутствует в метаданных, возвращаемых с наборами результатов. Используется ли она или нет до приложения.)

Ширина дисплея не ограничивает диапазон значений, которые могут быть сохранены в столбце ,Он также не позволяет корректно отображать значения, превышающие ширину отображения столбцов. Например, столбец, указанный как SMALLINT (3), имеет обычный диапазон SMALLINT от -32768 до 32767, а значения за пределами диапазона, разрешенного тремя цифрами, отображаются в полном объеме, используя более трех цифр.

https://dev.mysql.com/doc/refman/5.6/en/numeric-type-attributes.html

Смежные вопросы