MySQL типы данных

  • Михаил
  • 12 мин. на прочтение
  • 91
  • 12 Dec 2014
  • 12 Dec 2014

MySQL — реляционная СУБД, которая поддерживает несколько типов данных, которые можно разделить на три категории: числовые данные, дата и время, и данные типа строка. Для более подробной информации смотрите руководство по MySQL.

Тип данных

Использование

Диапазоны

TINYINT

Очень маленькое целое числоДиапазон числа со знаком от –128 до 127. Диапазон числа без знака (unsigned) от 0 до 255.

SMALLINT

Маленькое целое числоДиапазон числа со знаком от –32768 до 32767. Диапазон числа без знака (unsigned) от 0 до 65535.

MEDIUMINT

Среднее целое числоДиапазон числа со знаком от –8388608 до 8388607. Диапазон числа без знака (unsigned) от 0 до 16777215.

INT или INTEGER

Целое числоДиапазон числа со знаком от –2147483648 до 2147483647. Диапазон числа без знака (unsigned) от 0 до 4294967295.

BIGINT

Большое целое числоДиапазон числа со знаком от –9223372036854775808 до 9223372036854775807. Диапазон числа без знака (unsigned) от 0 до 18446744073709551615.

FLOAT

Малое (одинарной точности) число с плавающей запятой. Не может быть числом без знакаДиапазоны от –3.402823466E+38 до –1.175494351E-38, 0 и 1.175494351E-38 до 3.402823466E+38. Если количество знаков после запятой не установлено или <= 24 это число с плавающей запятой одинарной точности.

DOUBLE, 
 DOUBLE PRECISION, 
 REAL

Нормальное (двойной точности) число с плавающей запятой. Не может быть числом без знакаДиапазоны от -1.7976931348623157E+308 до -2.2250738585072014E-308, 0 и 2.2250738585072014E-308 до 1.7976931348623157E+308. Если количество знаков после запятой не установлены или 25 <= количество знаков <= 53 означает число с плавающей запятой двойной точности.

DECIMAL, 
 NUMERIC

Распакованное число с плавающей запятойРаботает подобно типу данных CHAR: «распакованный» означает, что число хранится в виде строки, используя один символ для каждой цифры-значения. Символ десятичной запятой и символ отрицательного числа "-" не учитывается в длину. Если десятичное значение равно 0, значение не будет иметь десятичной запятой или дробной части. Максимальный размер для DECIMAL значение такое же, как и для DOUBLE, но фактический диапазон для данного столбца DECIMAL может быть ограничен в выборе длины и десятичные дроби.

DATE

ДатаДата в диапазоне от «1000-01-01» до «9999-12-31». MySQL хранит поле типа DATE в виде «YYYY-MM-DD» (ГГГГ-ММ-ДД).

DATETIME

Дата и времяДопустимые диапазоны от «1000-01-01 00:00:00» до «9999-12-31 23:59:59». MySQL хранит поле типа DATETIME в виде «YYYY-MM-DD HH:MM:SS» (ГГГГ-ММ-ДД ЧЧ-ММ-СС).

TIMESTAMP

Дата и времяДиапазон от «1970-01-01 00:00:00» до, примерно, 2037 года. MySQL может хранить поле типа TIMESTAMP в видах «YYYYMMDDHHMMSS» (TIMESTAMP(14)), «YYMMDDHHMMSS» (TIMESTAMP(12)), «YYYYMMDD» (TIMESTAMP(8)) и др.

TIME

ВремяДиапазон от «-838:59:59» до «838:59:59». MySQL хранит поле TIME в виде «HH:MM:SS», но позволяет присваивать значения столбцам TIME с использованием либо строки или числа.

YEAR

Год в 2- или 4- х цифровом виде (4 цифры по-умолчанию)Если вы используете 4 цифра, то допустимые значения 1901-2155, и 0000. Если 2 цифры, то 1970-2069 (70-69). MySQL хранит значения поля YEAR в формате «YYYY».

CHAR

Строка фиксированной длины, которая справа дополняются пробелами до указанной длины, при храненииДиапазон длины от 1 до 255 символов. Завершающие пробелы удаляются, когда значение извлекается. Значения CHAR сортируются и сравниваются без учета регистра в зависимости от кодировки по умолчанию, если не установлен флаг BINARY.

VARCHAR

Строка переменной длины. Примечание: конечные пробелы удаляются при сохранении (в отличие от спецификации ANSI SQL).Диапазон длины от 1 до 255 символов. Значения VARCHAR сортируются и сравниваются без учета регистра, если не установлен флаг BINARY.

TINYBLOB, 
 TINYTEXT

 BLOB или ТЕХТ с максимальной длиной 255 (2^8 - 1) символов.

BLOB, 
 TEXT

 BLOB или ТЕХТ с максимальной длиной 65535 (2^16 - 1) символов.

MEDIUMBLOB, 
 MEDIUMTEXT

 BLOB или ТЕХТ с максимальной длиной 16777215 (2^24 - 1) символов.

LONGBLOB, 
 LONGTEXT

 BLOB или ТЕХТ с максимальной длиной 4294967295 (2^32 - 1) символов.

ENUM

ПеречислениеСтрока-объект, который может принимать только одно значение, выбирается из списка значений «значение 1», «значение 2» или NULL. ENUM максимум может иметь 65535 различных значений.

SET

НаборСтрока-объект, который может принимать ноль и более значений, каждое из которых должно быть выбрано из списка значений «значение 1», «значение 2», … Поле SET может иметь максимум 64 варианта значений.