1. IF(condition, value_if_true, value_if_false)

  • Что делает: Простая логика "если-то-иначе".
SELECT product_name, IF(price > 100, 'Дорогой', 'Дешевый') AS category FROM products;

2. CASE WHEN ... THEN ... END

  • Что делает: Расширенная логика условий.
SELECT name,
  CASE
    WHEN price > 100 THEN 'Дорогой'
    WHEN price BETWEEN 50 AND 100 THEN 'Средняя цена'
    ELSE 'Дешевый'
  END AS price_category
FROM products;

Строки

  • CHAR: строка фиксированной длины
  • VARCHAR: строка переменной длины
  • TEXT: длинные текстовые данные
  • BLOB: бинарные данные

Числа

  • INT: целое число
  • DECIMAL: точные числа с плавающей точкой
  • FLOAT/DOUBLE: приближенные числа
  • BIT: битовые значения

Дата и время

  • DATE: дата (YYYY-MM-DD)
  • TIME: время (HH:MM:SS)
  • DATETIME: дата и время
  • TIMESTAMP: метка времени

1. COALESCE

  • Что делает: Возвращает первое не-NULL значение из списка.
SELECT COALESCE(description, short_description, 'Нет описания') AS description FROM items;

2. IFNULL

  • Что делает: Возвращает замену, если значение равно NULL.
SELECT IFNULL(description, 'Описание отсутствует') AS description FROM items;

Создание процедуры

# удаление процедуры с проверкой
DROP PROCEDURE IF EXISTS my_procedure;

# установка нового разделителя команд
DELIMITER $$

# создание процедуры
CREATE PROCEDURE my_procedure()
BEGIN
  -- ваш код здесь
END$$

DELIMITER ;

Вызов процедуры

SELECT my_func();

Создание триггера

DELIMITER $$
CREATE TRIGGER my_trigger
AFTER INSERT ON my_table
FOR EACH ROW
BEGIN
  -- ваш код
END$$
DELIMITER ;

Типы триггеров

  • _trigger_time_: BEFORE или AFTER
  • _trigger_event_: INSERT, UPDATE или DELETE

Установка библиотеки

Для начала работы установите mysql-connector-python:

pip install mysql-connector-python

Подключение к базе данных

import mysql.connector
db_config = {
  'host': 'localhost',
  'user': 'your_user',
  'password': 'your_password',
  'database': 'your_database'
}