SQL/Типи даних MySQL

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

Посилання

Категорія:SQL
Категорія:SQL