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

Матеріал з Вікіпідручника
< SQL

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.

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