Типы данных SQL
Типы данных языка 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() | Год |