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