MySQL має три основні типи даних: текстові, числові, та часові.

Текстові ред.

Тип Опис
CHAR(size) Містить рядок фіксованої довжини (може містити букви, цифри, та інші символи). Фіксована довжина задається в дужках. Може зберігати до 255 символів.
VARCHAR(size) Містить рядок змінної довжини. Найбільша довжина задається в дужках. Може зберігати до 255 символів. Примітка: Якщо ви покладете туди значення більше за 255, тип буде перетворений на TEXT.
TINYTEXT Рядок з найбільшою довжиною 255 символів
TEXT Зберігає рядок з найдовшою довжиною 65,535 символів
BLOB Великий двійковий об'єкт (Binary Large OBject). Зберігає до 65,535 байт даних
MEDIUMTEXT Зберігає рядок з максимальною довжиною в 16,777,215 символів.
MEDIUMBLOB Великий двійковий об'єкт. 16 Мегабайт даних
LONGTEXT Рядок з найбільшою довжиною в 4,294,967,295 символів.
LONGBLOB Великий двійковий об'єкт. 4 Гігабайти даних
ENUM(x,y,z,і т.д.) Дозволяє ввести список можливих значень. Можна перелічити до 65535 різних значень типу. Якщо значення що вставляють в поле не буде належати списку, вставиться порожнє значення.

Зауваження: Значення будуть відсортовані в тому порядку в якому ви їх запишете.

Можливі значення вводяться в такому форматі: ENUM('X','Y','Z')

SET Подібно до ENUM окрім того, що SET може містити до 64 значень списку, і не може зберігати більше одного вибору.

Числові типи ред.

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

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

Типи дати і часу ред.

Тип Опис
DATE() Дата. Формат: YYYY-MM-DD

Зауваження: Підтримується діапазон від '1000-01-01' до '9999-12-31'

DATETIME() Формат: YYYY-MM-DD HH:MM:SS [2].

Зауваження: Підтримується діапазон від '1000-01-01 00:00:00' до '9999-12-31 23:59:59'

TIMESTAMP() Значення TIMESTAMP зберігаються як кількість секунд з початку епохи Unix ('1970-01-01 00:00:00' UTC). Формат: YYYY-MM-DD HH:MM:SS[2]

Зауваження: Підтримується діапазон від '1970-01-01 00:00:01' UTC до '2038-01-09 03:14:07' UTC

TIME() Час. Формат: HH:MM:SS

Зауваження: Підтримується діапазон від '-838:59:59' до '838:59:59'

YEAR() Рік в двоцифровому, або чотирицифровому форматі.

Зауваження: Значення, що дозволені в чотирицифровому форматі: від 1901 до 2155. Значення дозволені в двоцифровому форматі: від 70 до 69, що відповідає 1970 та 2069.

Примітки ред.

  1. 1,0 1,1 1,2 1,3 1,4 Цілі типи мають додаткову опцію UNSIGNED (беззнаковий).
  2. 2,0 2,1 Навіть якщо DATETIME та TIMESTAMP повертають однакові формати, вони працюють дуже по різному. В запиті INSERT або UPDATE TIMESTAMP автоматично встановлює себе в поточний час і дату. Також TIMESTAMP приймає різні формати, як YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, чи YYMMDD.

Посилання ред.