Типи даних MySQL

Текстові типи

ТипОпис
CHAR()Рядок тексту сталої довжини, заданої у дужках,
до 255 символів
VARCHAR()Рядок тексту змінної довжини до заданої у дужках,
до 255 символів
TEXTРядок тексту до 65 535 символів
BLOBДвійковий об'єкт до 65 535 байт даних
MEDIUMTEXTРядок тексту до 16 777 215 символів
MEDIUMBLOBДвійковий об'єкт до 16 Мегабайт даних
LONGTEXTРядок тексту до 4 294 967 295 символів
LONGBLOBДвійковий об'єкт до 4 Гігабайт даних
ENUM(x,y,…) Список можливих значень, до 65 535 різних. Якщо
значення, що вставляють у поле, не перелічене у
списку, буде вставлено порожнє значення.
Упорядкування — у порядку запису
SET(x,y,…)Подібно до ENUM, але може містити до 64 значень
у списку. Комірка може містити довільну
підмножину множини перелічених значень


Числові типи
Для роботи з невід'ємними цілими числами потрібно вписати службове слово UNSIGNED після назви типу.

ТипОпис
TINYINTЦіле від –128 до 127 або від 0 до 255
SMALLINTЦіле від –32 768 до 32 767 або від 0 до 65 535
MEDIUMINTЦіле від –8 388 608 до 8 388 607 або від 0 до 16 777 215
INTЦіле від –2 147 483 648 до 2 147 483 647
або від 0 до 4 294 967 295
BIGINTЦіле –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
або від 0 до 18 446 744 073 709 551 615
FLOAT(n,k)Число з рухомою крапкою (4 байти)
з додатним модулем від 1.2 · 10–39 до 3.4 · 1038
DOUBLE(n,k)Число з рухомою крапкою подвійної точності (8 байт)
з додатним модулем від 2.2 · 10–308 до 1.8 · 10308
DECIMAL(n,k),
NUMERIC(n,k)

або DEC(n,k)
Число з рухомою крапкою, збережене як рядок,
(M + 2) байти

Максимальну кількість цифр чисел з рухомою крапкою вказують як параметр n. Максимальну кількість цифр після десяткової крапки вказують як параметр k.

Тип BOOL — синонім до TINYINT, а сталі TRUE та FALSE — до 1 та 0 відповідно.

Типи дати й часу

ТипОпис
DATEДата у форматі YYYY-MM-DD (3 байти). Підтримано
діапазон від '1000-01-01' до '9999-12-31'
DATETIMEФормат YYYY-MM-DD HH:MM:SS (8 байт).
Підтримано діапазон від '1000-01-01 00:00:00'
до '9999-12-31 23:59:59'
TIMESTAMPКількість секунд з початку епохи Unix у форматі
YYYY-MM-DD HH:MM:SS (4 байти). Підтримано діапазон
від '1970-01-01 00:00:01' до '2038-01-09 03:14:07'
TIMEЧас у форматі HH:MM:SS (3 байти). Підтримано
діапазон від '-838:59:59' до '838:59:59'
YEAR(M)Рік у М-цифровому форматі (M = 2, 4). Значення,
дозволені в 4-цифровому форматі: від 1901 до
2155. Значення дозволені у 2-цифровому форматі:
від 70 до 69, що відповідає 1970 та 2069.

Навіть якщо DATETIME та TIMESTAMP повертають однакові формати, вони працюють дуже по різному. В запиті INSERT або UPDATE формат TIMESTAMP передбачає автоматичне встановлення поточного часу й дати. Також TIMESTAMP приймає різні формати: YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD і YYMMDD.