Типи даних

ТипПрименениеРазмер

TINYINT

целые числа самой маленькой разрядности

Диапазон чисел со знаком: –128 ... 127, без знака unsigned – 0 ... 255

SMALLINT

целые числа маленькой разрядности

Диапазон чисел со знаком: –32768 ... 32767, без знака – 0 ... 65535

MEDIUMINT

целые числа средней разрядности

Диапазон чисел со знаком: –8388608 ... 8388607, без знака – 0 ... 16777215

INT или INTEGER

целые числа обыкновенной разрядности

Диапазон чисел со знаком: ''–2147483648'' ... 2147483647, без знака – 0 ... 4294967295

BIGINT

целые числа большой разрядности

Диапазон чисел со знаком: –9223372036854775808 ... 9223372036854775807, без знака – 0 ... 18446744073709551615

FLOAT

числа с плавающей запятой (одинарной точности)

Диапазон от –3.402823466E+38 до –1.175494351E-38 и от 1.175494351E-38 до 3.402823466E+38

DOUBLE, REAL

числа с плавающей запятой (двойной точности)

Диапазон от -1.7976931348623157E+308 до -2.2250738585072014E-308 и от 2.2250738585072014E-308 до 1.7976931348623157E+308

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

временная отметка

Диапазон от 1970-01-01 00:00:00 до 2037 года, отображается в виде YYYYMMDDHHMMSS или YYMMDDHHMMSS или YYYYMMDD или YYMMDD

TIME

время

Диапазон от –838:59:59 до 838:59:59, отображается в виде HH:MM:SS

YEAR

год (2-х или 4-х циферное представление)

Диапазон от 1901 до ''2155'' (для 4-х циферного представления) и 1970-2069 (70-69, для 2-х циферного представление), отображается в виде YYYY

CHAR

строка фиксированной длины

link Диапазон от 1 до 255 символов, пробелы по краям обрезаются при получении значения, заполняется пробелом до заданной длины (если символов меньше, чем заданная длина), сортировка и сравнение значений регистро-независимое

VARCHAR

строка изменяющийся длины

link Диапазон от 1 до 255 символов, пробелы по краям обрезаются при сохранении, сортировка и сравнение значений регистро-независимое

TINYBLOB, TINYTEXT

столбец типа BLOB (с учетом регистра) или TEXT (регистронезависимый), максимальная длина 255 символов

BLOB, TEXT

подробнее

столбец типа BLOB или TEXT, максимальная длина 65535 символов

MEDIUMBLOB, MEDIUMTEXT

столбец типа BLOB или TEXT, максимальная длина 16777215 символов

LONGBLOB, LONGTEXT

столбец типа BLOB или TEXT, максимальная длина 4294967295 символов

ENUM

перечисление

link строковый объект, может иметь только одно значение из списка, максимальное количество уникальных элементов – 65535 Если объявлено, что столбец ENUM разрешает NULL, значение NULL является допустимым значением для столбца и значение по умолчанию — NULL. Если столбец ENUM объявлен NOT NULL, его значением по умолчанию является первый элемент списка разрешенных значений.

SET

множество

строковый объект, может иметь 0 или больше значений из списка, максимальное количество элементов – 64

рядок у форматі JSON

автоматично валідується, не може матиNOT NULL значення за замовчуванням

Нульовий формат значення для часових типів MySQL

MySQL дозволяє зберігати «нульове» значення «0000-00-00» як «фіктивну дату». У деяких випадках це зручніше, ніж використання значень NULL, і використовує менше даних та простору індексу. Ви можете зберігати або посилатися на них явно, використовуючи значення, наведені в таблиці. Ви можете також скористатися параметрами '0' або 0, які легше писати. Для тимчасових типів, що включають частину дати (DATE, DATETIME, and TIMESTAMP), використання цих значень може призвести до warning or errors. Точна поведінка залежить від того, який із суворих режимів і режимів SQL NO_ZERO_DATE увімкнено; see Section 7.1.11, “Server SQL Modes”.

Data Type

“Zero” Value

'0000-00-00'

'00:00:00'

'0000-00-00 00:00:00'

'0000-00-00 00:00:00'

0000

«Нульові» значення дати або часу, які використовуються через Connector/ODBC, автоматично перетворюються на NULL, оскільки ODBC не може обробляти такі значення.

Часові типи MariaDB

MariaDB зберігає значення, які використовують DATETIME у форматі, який підтримує значення між 1000-01-01 00:00:00.000000 і 9999-12-31 23:59:59.999999.

MariaDB також може зберігати мікросекунди з точністю від 0 до 6. Якщо точність мікросекунд не вказана, за замовчуванням використовується 0.

MariaDB також підтримує «0000-00-00» як спеціальне значення нульової дати, якщо NO_ZERO_DATE не вказано в SQL_MODE. Подібним чином окремі компоненти дати можуть мати значення 0 (наприклад: '2015-00-12'), якщо в SQL_MODE не вказано NO_ZERO_IN_DATE. У багатьох випадках результатом виразу en, що містить нульову дату або дату з нульовими частинами, є NULL. Якщо ALLOW_INVALID_DATES SQL_MODE увімкнуто, якщо частина дня знаходиться в діапазоні від 1 до 31, дата не створює жодної помилки, навіть для місяців, які мають менше 31 дня.

Для наочності

10 | 1234567890
20 | 1234567891234567890
30 | 12345678912345678901234567890
40 | 123456789123456789012345678901234567890
50 | 1234567891234567890123456789012345678901234567890
60 | 12345678912345678901234567890123456789012345678901234567890
70 | 123456789123456789012345678901234567890123456789012345678901234567890
80 | 1234567891234567890123456789012345678901234567890123456789012345678901234567890
90 | 12345678912345678901234567890123456789012345678901234567890123456789012345678901234567890
00 | 123456789123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

Вимоги до пам’яті числових типів

Тип

Необхідна пам’ять

TINYINT

1 byte

SMALLINT

2 байта

MEDIUMINT

3 байта

INT

4 байта

INTEGER

4 байта

BIGINT

8 байтов

FLOAT(X)

4, если X <= 24 или 8, если 25 <= X <= 53

FLOAT

4 байта

DOUBLE

8 байтов

DOUBLE PRECISION

8 байтов

REAL

8 байтов

DECIMAL(M,D)

M+2 байт, если D > 0, M+1 байт, если D = 0 (D+2, если M < D)

NUMERIC(M,D)

M+2 байт, если D > 0, M+1 байт, если D = 0 (D+2, если M < D)

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

Тип столбца

Требуемая память

DATE

3 байта

DATETIME

8 байтов

TIMESTAMP

4 байта

TIME

3 байта

YEAR

1 байт

MariaDB Data Type Storage Requirements

https://mariadb.com/kb/en/data-type-storage-requirements/

Last updated