LibCode»Блог

LibCode — это библиотека кода и знаний для разработчиков, где каждый найдет полезные ресурсы, уроки и инструменты для создания и совершенствования своих проектов.

MySQL | Python | C++

Создано при поддержке GigaChat.

MySQL: Операторы

В MySQL существует множество операторов, которые можно разделить на несколько категорий:

Арифметические операторы


Эти операторы используются для выполнения арифметических операций:
  • + — сложение.
  • - — вычитание.
  • * — умножение.
  • / — деление.
  • % — остаток от деления (модуль).

Пример:
SELECT 10 + 5; -- Результат: 15
SELECT 10 % 3; -- Результат: 1

Операторы сравнения


Эти операторы используются для сравнения значений:
  • = — равно.
  • <> или != — не равно.
  • > — больше.
  • < — меньше.
  • >= — больше или равно.
  • <= — меньше или равно.

Пример:
SELECT * FROM employees WHERE salary > 5000;

Логические операторы


Эти операторы используются для объединения условий в запросах:
  • AND — логическое И.
  • OR — логическое ИЛИ.
  • NOT — логическое НЕ.

Пример:
SELECT * FROM employees WHERE salary > 5000 AND department = 'Sales';

Операторы для работы с NULL (IS NULL / IS NOT NULL)


  • IS NULL — проверяет, является ли значение равным NULL.
  • IS NOT NULL — проверяет, что значение не равно NULL.

Пример:
SELECT * FROM employees WHERE salary IS NULL;

Опера

...

MySQL: Оператор IS NULL / IS NOT NULL

В SQL оператор IS NULL используется для проверки, является ли значение в столбце таблицы равным NULL. Это очень важный оператор, так как NULL — это особое значение, которое обозначает отсутствие данных или неизвестное значение. В этой статье мы рассмотрим, как работает IS NULL, почему его нельзя заменить на = NULL, и приведем примеры использования.

Что такое "NULL"?


NULL — это специальное значение в SQL, которое обозначает отсутствие данных или неизвестное значение. Это не то же самое, что пустая строка ('') или ноль (0). NULL означает, что для данного столбца в конкретной строке нет никакого значения.

Пример таблицы:
Допустим, у вас есть таблица employees с колонкой salary, которая может содержать значения NULL:
id	name	salary
1	John	5000
2	Alice	NULL
3	Bob	6000

В этой таблице у сотрудника с id = 2 значение salary равно NULL, что означает, что его зарплата неизвестна.

Почему нельзя использовать "= NULL"?


В SQL нельзя использовать оператор = для проверки на NULL. Например, следующий...

MySQL: Различие INNER, LEFT, RIGHT и FULL JOIN

В SQL, особенно в MySQL, операции соединения таблиц (JOIN) играют ключевую роль при работе с данными. Они позволяют объединять данные из нескольких таблиц на основе заданных условий. В этой статье мы рассмотрим основные типы JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN, а также разберем их различия на примерах.

INNER JOIN


INNER JOIN возвращает только те записи, для которых существует соответствие в обеих таблицах. Это наиболее часто используемый тип соединения.

Синтаксис:
SELECT колонки
FROM таблица1
INNER JOIN таблица2
ON таблица1.столбец = таблица2.столбец;

Допустим, у нас есть две таблицы: employees и departments.
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;

Этот запрос вернет только тех сотрудников, для которых существует соответствующий отдел.

LEFT JOIN (или LEFT OUTER JOIN)


LEFT JOIN возвращает все записи из левой таблицы и соответствующие записи из правой таблицы. Если...

MySQL: Функция CONCAT_WS

Одной из часто используемых функций в MySQL является оператор  CONCAT_WS() , который означает "Concatenate With Separator" (конкатенация с разделителем). Эта функция позволяет объединить несколько строк с указанным разделителем, что крайне удобно при формировании сложных выражений и динамически создаваемых строк.

Синтаксис функции CONCAT_WS():
CONCAT_WS(separator, str1, str2, ..., strN)

Параметр separator — это разделитель, который будет вставлен между строками. Остальные параметры — это сами строки, которые нужно соединить.

Пример 1: Соединение ФИО сотрудника
Пусть у нас есть таблица сотрудников с полями first_name, middle_name и last_name. Нам нужно получить полное имя сотрудника в формате "ФИО":
SELECT CONCAT_WS(' ', last_name, first_name, middle_name) AS full_name
FROM employees;

Результат:
| full_name           |
|---------------------|
| Иванов Иван Иванович |
| Петров Петр Петрович |

Пример 2: Формирование полного адреса
Имеется таблица с полями street, house_number, city, sta...

MySQL: Как определить какие индексы используются

Чтобы определить, какие индексы используются в вашей базе данных MySQL, можно применить несколько методов. Рассмотрим наиболее распространенные способы.

Использование команды SHOW INDEX


Команда  SHOW INDEX  выводит информацию обо всех индексах определенной таблицы. Например, чтобы посмотреть индексы таблицы  users , выполните следующий запрос:
SHOW INDEX FROM users;

Результат покажет:
  • Имя индекса (Key_name).
  • Тип индекса (Index_type).
  • Названия столбцов, участвующих в индексе (Column_name).
  • Другие подробности, такие как порядковый номер в индексе и уникальный статус.

Использование команды INFORMATION_SCHEMA

 
Информационная схема MySQL содержит полную информацию о структуре базы данных, включая индексы. Вы можете использовать следующий запрос для просмотра индексов всех таблиц в базе данных:
SELECT DISTINCT TABLE_NAME, COLUMN_NAME, INDEX_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'your_database_name';

Замените your_database_name на имя вашей базы данных.

Использование коман

...