Типы данных языка SQL, определенные стандартом

Данные – это информация, которая хранится в базе данных в виде одного из нескольких различных типов . С помощью типов данных устанавливаются основные правила для данных, содержащихся в столбце таблицы, в том числе размер выделяемой для них памяти.

В языке SQL имеется шесть скалярных типов данных, определенных стандартом:

Тип данных

Объявления

Символьный

CHAR | VARCHAR

Битовый

BIT | BIT VARYING

Точные числа

NUMERIC | DECIMAL | INTEGER | SMALLINT

Округленные числа

FLOAT | REAL | DOUBLE PRECISION

Интервал

INTERVAL

Список типов данных MySQL

В любой СУБД могут быть свои типы данных, не определенные стандартом. В MySQL существует три основных типа данных: текст, число и дата.

Типы текстовых данных

Тип Описание
CHAR(size) Представляет собой строку фиксированной длины (может содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Может хранить до 255 символов
VARCHAR(size) Хранит строку переменной длины (может содержать буквы, цифры и специальные символы). Максимальный размер указан в скобках. Может хранить до 255 символов. Если вы ставите большее значение, чем 255, оно будет преобразовано в тип TEXT
TINYTEXT Хранит строку длиной не более 255 символов
TEXT Хранит строку с максимальной длиной 65535 символов
BLOB Для BLOB (Binary Large OBjects). Сохраняет до 65535 байт данных
MEDIUMTEXT Хранит строку с максимальной длиной 16,777,215 символов
MEDIUMBLOB Для BLOB (Binary Large OBjects). Удерживает до 16 777 215 байт данных
LONGTEXT Хранит строку с максимальной длиной 4 294 967 295 символов
LONGBLOB Для BLOB (Binary Large OBjects). Сохраняет до 4 294 967 295 байтов данных
ENUM(a,b,c,etc.)

Позволяет ввести список возможных значений. Вы можете перечислить до 65535 значений в списке ENUM. Если вставлено значение, которое отсутствует в списке, будет добавлено пустое значение. Значения сортируются в том порядке, в котором вы их вводите.

SET Подобно ENUM, за исключением того, что SET может содержать до 64 элементов списка и может хранить несколько вариантов.

Типы числовых данных

Тип Описание
TINYINT(size) Хранит число от -128 до 127. От 0 до 255 при параметре UNSIGNED*. Максимальное количество цифр может быть указано в круглых скобках
SMALLINT(size) Хранит число от -32768 до 32767. 0 до 65535 при параметре UNSIGNED*. Максимальное количество цифр может быть указано в скобках
MEDIUMINT(size) Хранит число от -8388608 до 8388607. 0 до 16777215 при параметре UNSIGNED*. Максимальное количество цифр может быть указано в скобках
INT(size) Хранит число от -2147483648 до 2147483647. 0 до 4294967295 при параметре UNSIGNED*. Максимальное количество цифр может быть указано в скобках
BIGINT(size) Хранит число от -9223372036854775808 до 9223372036854775807. 0 до 18446744073709551615 при параметре UNSIGNED *. Максимальное количество цифр может быть указано в скобках
FLOAT(size,d) Небольшое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d
DOUBLE(size,d) Большое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d
DECIMAL(size,d) DOUBLE хранится как строка, позволяющая фиксированную десятичную точку. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d

UNSIGNED - дополнительный параметр целочисленного типа. Обычно целое число переходит от отрицательного к положительному. Добавление атрибута UNSIGNED будет перемещать этот диапазон вверх так, чтобы он начинался с нуля вместо отрицательного числа.

Тип даты

Тип Описание
DATE() Формат даты: YYYY-MM-DD
DATETIME() Формат даты и времени:  YYYY-MM-DD HH:MI:SS
TIMESTAMP() Количество секунд с момента Unix ('1970-01-01 00:00:00' UTC). Формат даты: YYYY-MM-DD HH:MI:SS
TIME() Формат времени: HH:MI:SS
YEAR() Год