День Героїв!

Ukrainian

Шановні співвітчизники!

Сьогодні ми вшановуємо найкращих синів і доньок України – тих, хто поклав своє життя за свободу, незалежність і гідність нашої держави.

День Героїв – це день пам’яті, вдячності й гордості. Це нагода згадати тих, хто у різні епохи боровся за нашу волю – від козаків і січових стрільців до героїв Небесної Сотні і воїнів сучасної війни.

Їхня відвага, жертовність і любов до України – світло, яке веде нас навіть у найтемніші часи.

Низький уклін кожному герою. Вічна пам’ять полеглим. Слава живим, хто продовжує боротьбу!

Слава Героям! Слава Україні!

Деякі інші типи даних

Інші типи даних у MySQL.
BINARYвикористовується для зберігання бінарних (двійкових) даних.
VARBINARYвикористовується для зберігання бінарних (двійкових) даних змінної довжини.
BOOLEANце синонім для TINYINT(1).
JSONВін призначений для зберігання структурованих даних у форматі JSON
ENUMзначення вибираються лише з заздалегідь визначеного списку.
SETдозволяє вибирати низку значень зі списку можливих варіантів.

BINARY

BINARY використовується для зберігання бінарних (двійкових) даних. Це може бути корисно для зберігання хешів, зашифрованих значень, унікальних ідентифікаторів тощо.
Типбінарні дані фіксованої довжини
СинтаксисBINARY(n), де n — кількість байтів (від 1 до 255)
ЗберіганняЗберігає: точно n байтів, заповнюючи нулями (\0) при необхідності

Коли використовувати BINARY?

  • Для фіксованих хешів (SHA256)
  • Для кодування бінарних ідентифікаторів
  • Для шифрованих даних, якщо розмір завжди однаковий

Приклад створення таблиці:

CREATE TABLE users_binary (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50),
    password_hash BINARY(32)
);
INSERT INTO users_binary (username, password_hash)
VALUES ('Jennifer', UNHEX(SHA2('password123', 256)));
-- SHA2(..., 256) повертає хеш як hex-рядок, UNHEX() — конвертує його у двійковий вигляд.

VARBINARY

VARBINARY використовується для зберігання бінарних (двійкових) даних змінної довжини.
ТипБінарний, змінної довжини
СинтаксисVARBINARY(n)
ЗберіганняБайти, а не текст
У чому відмінність від BINARYНе доповнює значення до фіксованої довжини

Коли використовувати VARBINARY?

  • Зберігання файлів, зображень, PDF, аудіо
  • Зберігання ключів, токенів, байтових масивів
  • Збереження хешів змінної довжини

Приклад створення таблиці:

CREATE TABLE users_varbinary (
    id INT AUTO_INCREMENT PRIMARY KEY,
    login VARCHAR(50),
    token VARBINARY(64)
);
INSERT INTO users_varbinary (login, token)
VALUES ('Jennifer', UNHEX(SHA2('secretcode', 512)));

BOOLEAN

BOOLEAN — це синонім для TINYINT(1).
Особливість неістинного значення0 = FALSE
Особливість істинного значенняБудь-яке ненульове значення = TRUE (зазвичай використовують 1)
ЗберіганняЗберігається як 1 байт

Коли використовувати BOOLEAN?

  • Прапорців: is_active, is_deleted, has_access
  • Налаштування користувача
  • Умовні стани

Приклад створення таблиці:

CREATE TABLE users_bool (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50),
    is_active BOOLEAN
);
INSERT INTO users_bool (username, is_active)
VALUES 
    ('Olga', TRUE),
    ('Olena', FALSE),
    ('Petro', 1);

JSON

JSON – повноцінний тип даних починаючи з версії 5.7. Призначений для зберігання структурованих даних у форматі JSON (масиви, об’єкти тощо) прямо в таблицях бази даних.
ТипСтруктурований (JSON)
Автоматична перевіркаMySQL перевіряє, чи це валідний JSON
ПеревагиГнучкість зберігання напівструктурованих даних

Коли використовувати JSON?

  • Зберігання динамічних даних
  • API-логіка (наприклад, зберігання відповіді або конфігурації)
  • Локалізація (наприклад, різні переклади в одному полі)
  • Масиви властивостей, специфікації, параметри користувача тощо

Приклад створення таблиці:

CREATE TABLE products_json (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    specifications JSON
);
INSERT INTO products_json (name, specs)
VALUES 
('MacBook Air', '{"ram": "16GB", "cpu": "M2", "ports": ["USB-C", "Thunderbolt"]}');

ENUM

ENUM — це рядковий тип, де значення вибираються лише із заздалегідь визначеного списку.
Кількість варіантівДо 65,535 унікальних значень
ЗберігаєтьсяЯк число-індекс (1, 2, 3, …) у базі
Можливе значення ‘ ‘Якщо вказати NOT NULL, то не буде
Коли використовувати?Коли список можливих значень невеликий і рідко змінюється.

Приклад створення таблиці:

CREATE TABLE users_enum (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50),
    role ENUM('admin', 'manager', 'user') NOT NULL
);
INSERT INTO users_enum (username, role)
VALUES 
    ('Andrew', 'admin'),
    ('Jenny', 'manager'),
    ('Nancy', 'user');

SET

SET — це рядковий тип, який дозволяє вибирати 0 або більше значень зі списку можливих варіантів.
Кількість варіантівМаксимум 64 значення
Порядок значеньФіксований, як у момент створення
Чутливість до реєструЗа замовчуванням – ні
Коли використовувати?Коли потрібно зберігати кілька вибраних опцій в одному полі:         ◦ Уподобання користувача (жанри, хобі)         ◦ Доступ до модулів         ◦ Набори прав або теги
CREATE TABLE users_set (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    interests SET('music', 'travel', 'reading', 'sport') NOT NULL
);
INSERT INTO users_set (name, interests)
VALUES 
  ('Kate', 'music,reading'),
  ('Irene', 'travel'),
  ('Peter', 'music,sport,travel');

Для додаткової візуалізації є відео.