Типы данных MySQL

Ниже приведен список типов данных, доступных в MySQL, который включает в себя string, numeric, date/time, и типыданных large (больших объектов).

String типы данных

Ниже перечислены типы данных String в MySQL:

Синтаксис Максимальный размер Пояснение
CHAR(size) Размер 255 символов Где size — количество сохраняемых символов. Строки с фиксированной длиной. Пространство справа дополнено на равное количество символов.
VARCHAR(size) Размер 255 символов Где size — количество сохраняемых символов. Строка переменной длины.
TINYTEXT(size) Размер 255 символов Где size — количество сохраняемых символов.
TEXT(size) Размер 65535 символов Где size — количество сохраняемых символов.
MEDIUMTEXT(size) Размер 16777215 символов. Где size — количество сохраняемых символов.
LONGTEXT(size) Размер 4Гб или 4294967295 символов Где size — количество сохраняемых символов.
BINARY(size) Размер 255 символов Где size — количество двоичных символов для хранения. Строки с фиксированной длиной. Пространство справа дополнено на равное количество символов. (Представлено в MySQL 4.1.2)
VARBINARY(size) Размер 255 символов. Где size — количество сохраняемых символов. Строка переменной длины. (Представлено в MySQL 4.1.2)

Numeric типы данных

Ниже перечислены числовые типы данных в MySQL:

Синтаксис Максимальный размер Пояснение
BIT Очень маленькое целочисленное значение, эквивалентное TINYINT (1). Подписанные значения варьируются от -128 до 127. Беззнаковые значения варьируются от 0 до 255.
TINYINT(m) Очень маленькое целочисленное значение. Подписанные значения варьируются от -128 до 127. Беззнаковые значения варьируются от 0 до 255.
SMALLINT(m) Малое целочисленное значение. Подписанные значения варьируются от -32768 до 32767. Беззнаковые значения варьируются от 0 до 65535.
MEDIUMINT(m) Среднее целочисленное значение. Подписанные значения варьируются от -8388608 до 8388607. Беззнаковые значения варьируются от 0 до 16777215.
INT(m) Стандартное целочисленное значение. Подписанные значения варьируются от -2147483648 до 2147483647. Беззнаковые значения варьируются от 0 до 4294967295.
INTEGER(m) Стандартное целочисленное значение. Подписанные значения варьируются от -2147483648 до 2147483647. Беззнаковые значения варьируются от 0 до 4294967295. Это синоним типа данных INT.
BIGINT(m) Большое целочисленное значение. Подписанные значения варьируются от -9223372036854775808 до 9223372036854775807. Беззнаковые значения варьируются от 0 до 18446744073709551615.
DECIMAL(m,d) Число с фиксированной точкой. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака.
DEC(m,d) Число с фиксированной точкой. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа DECIMAL.
NUMERIC(m,d) Число с фиксированной точкой. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа DECIMAL.
FIXED(m,d) Число с фиксированной точкой. m по умолчанию — 10, если не указано. d по умолчанию равно 0, если не указано. Где m — всего цифр, а d — количество цифр после десятичного знака. (Представлено в MySQL 4.1) Это синоним типа DECIMAL.
FLOAT(m,d) Число с плавающей точкой с одиночной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака.
DOUBLE(m,d) Число с плавающей точкой с двойной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа данных DOUBLE.
DOUBLE PRECISION(m,d) Число с плавающей точкой с двойной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака.
REAL(m,d) Число с плавающей точкой с двойной точностью. Где m — всего цифр, а d — количество цифр после десятичного знака. Это синоним типа данных DOUBLE.
FLOAT(p) Число с плавающей точкой. Где p — точность.
BOOL Синонимы TINYINT (1) Рассматривается как тип данных типа boolean, где значение 0 считается FALSE, а любое другое значение считается TRUE.
BOOLEAN Синонимы TINYINT (1) Рассматривается как тип данных типа boolean, где значение 0 считается FALSE, а любое другое значение считается TRUE.

Date/Time типы данных

Ниже приведены типы данных дата / время в MySQL:

Синтаксис Максимальный размер Пояснение
DATE Значения варьируются от ‘1000-01-01’ до ‘9999-12-31’. Отображается как ‘YYYY-MM-DD’.
DATETIME Значения варьируются от ‘1000-01-01 00:00:00’ до ‘9999-12-31 23:59:59’. Отображается как ‘YYYY-MM-DD HH:MM:SS’.
TIMESTAMP(m) Значения варьируются от ‘1970-01-01 00:00:01’ UTC до ‘2038-01-19 03:14:07’ UTC. Отображается как ‘YYYY-MM-DD HH:MM:SS’.
TIME Значения варьируются от ‘-838: 59: 59’ до ‘838: 59: 59’. Отображается как ‘HH:MM:SS.
YEAR[(2|4)] Значение года как 2 цифры или 4 цифры. Значение по умолчанию — 4 цифры.

Large Object (LOB) типы данных

Ниже перечислены типы данных большого объекта (LOB) в MySQL:

Синтаксис Максимальный размер Пояснение
TINYBLOB Максимальный размер 255 байт.
BLOB(size) Максимальный размер 65 535 байт. Где size — количество хранимых символов (размер является необязательным и был введен в MySQL 4.1)
MEDIUMBLOB Максимальный размер 16 777 215 байт.
LONGTEXT Максимальный размер 4 ГБ или 4 294 967 295 символов.