MySQL - NOT Оператор

Здравствуйте, будущие маги баз данных! Сегодня мы окунемся в магический мир оператора NOT в MySQL. Не беспокойтесь, если вы новички - я буду вашим доброжелательным проводником в этом приключении, и к концу вы будете использовать оператор NOT, как профи!

MySQL - NOT Operator

MySQL NOT Оператор

Оператор NOT - это как rebел в мире MySQL. Он все о negation, переворачивает все вверх дном и говорит "нет" условиям. Представьте, что вы учитель (как я!) и хотите найти всех студентов, которые не сдали домашнее задание. Вот где NOT comes in handy!

Давайте начнем с простого примера:

SELECT * FROM students WHERE NOT grade = 'A';

Этот запрос получит всех студентов, кто не получил оценку A. Это как сказать: "Покажи мне всех, кроме студентов с оценкой A". Quite cool, right?

Вот еще один пример:

SELECT * FROM products WHERE NOT price > 100;

Этот запрос даст нам все товары, которые стоят не более 100 долларов. Это как sneakily say "Покажи мне товары, которые стоят 100 долларов или меньше."

NOT с Оператором IN

Теперь давайте поднимем уровень и combine NOT с оператором IN. Оператор IN как VIP список, а NOT IN говорит "всем, кто не в списке."

SELECT * FROM fruits WHERE name NOT IN ('apple', 'banana', 'orange');

Этот запрос покажет все фрукты, кроме яблок, бананов и апельсинов. Это как having a fruit bowl и выбирая все, кроме этих трех фруктов.

NOT с Оператором IS NULL

NULL значения в базах данных как призраки - они есть, но не vraiment. Оператор NOT IS NULL помогает нам найти все ne-призрачные значения.

SELECT * FROM customers WHERE phone_number IS NOT NULL;

Этот запрос найдет всех клиентов, которые предоставили номер телефона. Это как喊 "Marco!" и ждать, пока все, кто может, ответят "Polo!"

NOT с Оператором LIKE

Оператор LIKE используется для подстановки шаблонов, а NOT LIKE - его mischievous twin. Он perfect для поиска вещей, которые не соответствуют определенному шаблону.

SELECT * FROM books WHERE title NOT LIKE 'The%';

Этот запрос найдет все книги, чьи заголовки не начинаются с "The". Это как organize a bookshelf и putting все "The" книги с одной стороны, а все остальное - с другой.

NOT с Оператором BETWEEN

BETWEEN помогает нам найти значения в диапазоне, а NOT BETWEEN делает обратное. Это как setting up a "Kids Only" зона и затем finding everyone, кто не имеет права входить.

SELECT * FROM employees WHERE age NOT BETWEEN 25 AND 35;

Этот запрос найдет всех сотрудников, которые моложе 25 или старше 35 лет. Это отличный способ segment your data!

NOT с Оператором UPDATE

Оператор NOT не только для SELECT запросов. Мы можем использовать его в UPDATE запросах! Давайте посмотрим пример:

UPDATE inventory SET in_stock = 0 WHERE NOT product_id IN (101, 102, 103);

Этот запрос обновляет инвентарь, устанавливая все продукты как отсутствующие, кроме продуктов с ID 101, 102 и 103. Это как clearing out your store, но keeping несколько special items доступных.

NOT с Оператором DELETE

Мы также можем использовать NOT в DELETE запросах. Будьте осторожны с этим - он powerful!

DELETE FROM old_records WHERE NOT date_created > '2020-01-01';

Этот запрос удалит все записи, созданные до 2020 года. Это как doing a big clean-up и keeping только новее вещеи.

NOT Оператор с Клиентской Программой

Теперь давайте посмотрим, как мы можем использовать оператор NOT в клиентской программе. Вот простой пример на Python с использованием MySQL Connector:

import mysql.connector

# Подключиться к базе данных
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='127.0.0.1', database='your_database')
cursor = cnx.cursor()

# Выполнить запрос с NOT
query = "SELECT * FROM students WHERE NOT grade = 'F'"
cursor.execute(query)

# Получить и напечатать результаты
for (id, name, grade) in cursor:
print(f"Student {id}: {name} - Grade: {grade}")

# Закрыть подключение
cursor.close()
cnx.close()

Этот скрипт подключается к базе данных MySQL, выполняет запрос, чтобы найти всех студентов, кто не получил оценку F, и выводит их информацию. Это как running a report card day, но только для студентов, кто passed!

И вот вы и есть, друзья! Вы только что совершили головокружительное путешеие по оператору NOT в MySQL. Помните, в мире баз данных, иногда так же важно знать, что вы не хотите, как и что вы хотите. Оператор NOT - ваш надежный помощник в таких ситуациях.

Продолжайте практиковаться, stay curious, и antes de que te des cuenta, вы будете использовать NOTing ваш путь через базы данных, как профи! Счастливо!

Credits: Image by storyset