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