Типи даних
Тип | Применение | Размер |
---|---|---|
TINYINT | целые числа самой маленькой разрядности | Диапазон чисел со знаком: |
SMALLINT | целые числа маленькой разрядности | Диапазон чисел со знаком: |
MEDIUMINT | целые числа средней разрядности | Диапазон чисел со знаком: |
INT или INTEGER | целые числа обыкновенной разрядности | Диапазон чисел со знаком: ''–2147483648'' ... |
BIGINT | целые числа большой разрядности | Диапазон чисел со знаком: |
FLOAT | числа с плавающей запятой (одинарной точности) | Диапазон от |
DOUBLE, REAL | числа с плавающей запятой (двойной точности) | Диапазон от |
DATE | дата | Диапазон от |
DATETIME | комбинация даты и времени | Диапазон от |
TIMESTAMP | временная отметка | Диапазон от |
TIME | время | Диапазон от |
YEAR | год (2-х или 4-х циферное представление) | Диапазон от |
CHAR | строка фиксированной длины | link Диапазон от |
VARCHAR | строка изменяющийся длины | link Диапазон от |
TINYBLOB, TINYTEXT | столбец типа | |
BLOB, TEXT | подробнее | столбец типа |
MEDIUMBLOB, MEDIUMTEXT | столбец типа | |
LONGBLOB, LONGTEXT | столбец типа | |
ENUM | перечисление | link строковый объект, может иметь только одно значение из списка, максимальное количество уникальных элементов – |
SET | множество | строковый объект, может иметь 0 или больше значений из списка, максимальное количество элементов – |
рядок у форматі JSON | автоматично валідується, не може мати |
Нульовий формат значення для часових типів 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 |
| |
| |
| |
| |
|
«Нульові» значення дати або часу, які використовуються через 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 дня.
Для наочності
Вимоги до пам’яті числових типів
Тип | Необхідна пам’ять |
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
Last updated