MySQL поддерживает несколько типов полей, которые можно разделить на три категории: числовые типы данных, типы данных для хранения даты и времени и символьные (строковые) типы данных.
Имя типа
| Описание типа
|
---|
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Параметр UNSIGNED определяет диапазон без знака
Параметр ZEROFILL дополняет незначащие нули к числу (021, 001)
Число в скобках М — количество показываемых пользователю символов целого числа. Например INT(4). Это необязательное указание количества выводимых символов используется для дополнения слева выводимых значений, которые содержат символов меньше, чем заданная ширина столбца, однако не накладывает ограничений ни на диапазон величин, которые могут храниться в столбце, ни на количество разрядов, которые могут выводиться для величин, у которых количество символов превосходит ширину данного столбца.
| Очень малое целое число. Диапазон со знаком от -128 до 127. Диапазон без знака (UNSIGNED) от 0 до 255.
|
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
| Малое целое число. Диапазон со знаком от -32768 до 32767. Диапазон без знака от 0 до 65535.
|
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
| Целое число среднего размера. Диапазон со знаком от -8388608 до 8388607. Диапазон без знака от 0 до 16777215.
|
INT[(M)] [UNSIGNED] [ZEROFILL]
| Целое число нормального размера. Диапазон со знаком от -2147483648 до 2147483647. Диапазон без знака от 0 до 4294967295.
|
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
| Синоним для INT.
|
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
| Большое целое число. Диапазон со знаком от -9223372036854775808 до 9223372036854775807. Диапазон без знака от 0 до 18446744073709551615.
|
DECIMAL(5,2)
| В этом примере — 5 (точность) представляет собой общее количество значащих десятичных знаков, с которыми будет храниться данная величина, а цифра 2 (масштаб) задает количество десятичных знаков после запятой. Следовательно, в этом случае интервал величин, которые могут храниться в столбце salary, составляет от -99,99 до 99,99
|
FLOAT(точность) [UNSIGNED] [ZEROFILL]
| Число с плавающей точкой.
|
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'
|
TIME
| Время. Интервал от '-838:59:59' до '838:59:59'. MySQL выводит значения TIME в формате 'HH:MM:SS'
|
CHAR(M) [BINARY]
| Строка фиксированной длины, при хранении всегда дополняется пробелами в конце строки до заданного размера. Диапазон аргумента M составляет от 0 до 255 символов. Если не задан атрибут чувствительности к регистру BINARY, то величины CHAR сортируются и сравниваются как независимые от регистра в соответствии с установленным по умолчанию алфавитом.
|
VARCHAR(M) [BINARY]
| Строка переменной длины. Диапазон аргумента M составляет от 0 до 255 символов.
Различия между типами данных CHAR и VARCHAR
|
TEXT
| Столбец типа TEXT с максимальной длиной 65535
|
ENUM('значение1','значение2',...)
| Перечисление. Перечисляемый тип данных. Объект строки может иметь только одно значение, выбранное из заданного списка величин 'значение1', 'значение2', ..., NULL или специальная величина ошибки "". Список ENUM может содержать максимум 65535 различных величин.
|
SET('значение1','значение2',...)
| Набор. Объект строки может иметь ноль или более значений, каждое из которых должно быть выбрано из заданного списка величин 'значение1', 'значение2', ... Список SET может содержать максимум 64 элемента.
|