Oleg Alexandrov

Символьные типы

Keyword Описание
CHAR представляет стоку фиксированной длины.
VARCHAR представляет стоку переменной длины.
TINYTEXT представляет текст длиной до 255 байт.
TEXT представляет текст длиной до 65 КБ.
MEDIUMTEXT представляет текст длиной до 16 МБ
LARGETEXT представляет текст длиной до 4 ГБ

Числовые типы

Keyword Описание
TINYINT представляет целые числа от -127 до 128, занимает 1 байт
BOOL фактически не представляет отдельный тип, а является лишь псевдонимом для типа TINYINT(1) и может хранить два значения 0 и 1. Однако данный тип может также в качестве значения принимать встроенные константы TRUE (представляет число 1) и FALSE (предоставляет число 0). Также имеет псевдоним BOOLEAN.
TINYINT UNSIGNED представляет целые числа от 0 до 255, занимает 1 байт
SMALLINT представляет целые числа от -32768 до 32767, занимает 2 байтa
SMALLINT UNSIGNED представляет целые числа от 0 до 65535, занимает 2 байтa
MEDIUMINT представляет целые числа от -8388608 до 8388607, занимает 3 байта
MEDIUMINT UNSIGNED представляет целые числа от 0 до 16777215, занимает 3 байта
INT представляет целые числа от -2147483648 до 2147483647, занимает 4 байта
INT UNSIGNED представляет целые числа от 0 до 4294967295, занимает 4 байта
BIGINT представляет целые числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, занимает 8 байт
BIGINT UNSIGNED представляет целые числа от 0 до 18 446 744 073 709 551 615, занимает 8 байт
DECIMAL хранит числа с фиксированной точностью. Данный тип может принимать два параметра precision и scale: DECIMAL(precision, scale). Параметр precision представляет максимальное количество цифр, которые может хранить число. Это значение должно находиться в диапазоне от 1 до 65. Параметр scale представляет максимальное количество цифр, которые может содержать число после запятой. Это значение должно находиться в диапазоне от 0 до значения параметра precision. По умолчанию оно равно 0. Пример: salary DECIMAL(5,2) Число 5 - precision, а число 2 - scale, поэтому данный столбец может хранить значения из диапазона от -999.99 до 999.99. Размер данных в байтах для DECIMAL зависит от хранимого значения. Данный тип также имеет псевдонимы NUMERIC, DEC, FIXED.
FLOAT хранит дробные числа с плавающей точкой одинарной точности от -3.4028 * 10^38 до 3.4028 * 10^38, занимает 4 байта. Может принимать форму FLOAT(M,D), где M - общее количество цифр, а D - количество цифр после запятой.
DOUBLE хранит дробные числа с плавающей точкой двойной точности от -1.7976 * 10^308 до 1.7976 * 10^308, занимает 8 байт. Также может принимать форму DOUBLE(M,D), где M - общее количество цифр, а D - количество цифр после запятой. Данный тип также имеет псевдонимы REAL и DOUBLE PRECISION, которые можно использовать вместо DOUBLE.

Типы для работы с датой и временем

Keyword Описание
DATE хранит даты с 1 января 1000 года до 31 деабря 9999 года (c “1000-01-01” до “9999-12-31”). По умолчанию для хранения используется формат yyyy-mm-dd. Занимает 3 байта. yyyy-mm-dd - 2018-05-25. yyyy-m-dd - 2018-5-25. yy-m-dd - 18-05-25 В таком формате двузначные числа от 00 до 69 воспринимаются как даты в диапазоне 2000-2069. А числа от 70 до 99 как диапазон чисел 1970 - 1999. yyyymmdd - 20180525, yyyy.mm.dd - 2018.05.25
TIME хранит время от -838:59:59 до 838:59:59. По умолчанию для хранения времени применяется формат “hh:mm:ss”. Занимает 3 байта. hh:mi - 3:21 (хранимое значение 03:21:00). hh:mi:ss - 19:21:34. hhmiss - 192134.
DATETIME объединяет время и дату, диапазон дат и времени - с 1 января 1000 года по 31 декабря 9999 года (с “1000-01-01 00:00:00” до “9999-12-31 23:59:59”). Для хранения по умолчанию используется формат “yyyy-mm-dd hh:mm:ss”. Занимает 8 байт.
TIMESTAMP также хранит дату и время, но в другом диапазоне: от “1970-01-01 00:00:01” UTC до “2038-01-19 03:14:07” UTC. Занимает 4 байта.
YEAR хранит год в виде 4 цифр. Диапазон доступных значений от 1901 до 2155. Занимает 1 байт.

Составные типы

Keyword Описание
ENUM хранит одно значение из списка допустимых значений. Занимает 1-2 байта.
SET может хранить несколько значений (до 64 значений) из некоторого списка допустимых значений. Занимает 1-8 байт.

Бинарные типы

Keyword Описание
TINYBLOB хранит бинарные данные в виде строки длиной до 255 байт.
BLOB хранит бинарные данные в виде строки длиной до 65 КБ.
MEDIUMBLOB хранит бинарные данные в виде строки длиной до 16 МБ.
LARGEBLOB хранит бинарные данные в виде строки длиной до 4 ГБ.