MySQL - NOT Оператор
Xin chào các nhà thuật toán cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ lặn vào thế giới kỳ diệu của оператор NOT trong MySQL. Đừng lo lắng nếu bạn là người mới bắt đầu - tôi sẽ là hướng dẫn viên thân thiện của bạn trong chuyến phiêu lưu này, và đến cuối cùng, bạn sẽ sử dụng оператор NOT như một chuyên gia!
MySQL NOT Оператор
Оператор NOT giống như một người nổi loạn trong thế giới MySQL. Nó liên quan đến việc phủ nhận, lật úp mọi thứ và nói "không" với các điều kiện. Hãy tưởng tượng bạn là một giáo viên (như tôi!) và bạn muốn tìm tất cả các học sinh chưa nộp bài tập về nhà. Đó là lúc оператор NOT phát huy tác dụng!
Hãy bắt đầu với một ví dụ đơn giản:
SELECT * FROM students WHERE NOT grade = 'A';
Truy vấn này sẽ lấy tất cả các học sinh không đạt điểm A. Nó giống như nói, "Hiển thị cho tôi tất cả mọi người ngoại trừ học sinh đạt điểm A." Rất thú vị phải không?
Đây là một ví dụ khác:
SELECT * FROM products WHERE NOT price > 100;
Truy vấn này sẽ cho chúng ta tất cả các sản phẩm có giá không quá $100. Đó là một cách tinh tế để nói "Hiển thị cho tôi các sản phẩm có giá $100 hoặc ít hơn."
NOT với Оператор IN
Bây giờ, hãy nâng cấp và kết hợp NOT với оператор IN. Оператор IN giống như một danh sách VIP, và NOT IN là nói "mọi người không có trong danh sách."
SELECT * FROM fruits WHERE name NOT IN ('apple', 'banana', 'orange');
Truy vấn này sẽ hiển thị tất cả các loại quả ngoại trừ táo, chuối và cam. Nó giống như có một bát quả và chọn ra tất cả các loại quả không phải là ba loại quả đó.
NOT với Оператор IS NULL
Các giá trị NULL trong cơ sở dữ liệu giống như những linh hồn - chúng có đó, nhưng không thực sự. Оператор NOT IS NULL giúp chúng ta tìm tất cả các giá trị không phải là linh hồn.
SELECT * FROM customers WHERE phone_number IS NOT NULL;
Truy vấn này sẽ tìm tất cả các khách hàng đã cung cấp số điện thoại. Nó giống như gọi "Marco!" và chờ mọi người có thể đáp lại "Polo!"
NOT với Оператор LIKE
Оператор LIKE được sử dụng cho việc khớp mẫu, và NOT LIKE là anh em tinh nghịch của nó. Nó hoàn hảo cho việc tìm kiếm những thứ không khớp với một mẫu cụ thể.
SELECT * FROM books WHERE title NOT LIKE 'The%';
Truy vấn này sẽ tìm tất cả các sách có tiêu đề không bắt đầu bằng "The". Nó giống như sắp xếp một kệ sách và đặt tất cả các sách bắt đầu bằng "The" ở một bên và tất cả các sách khác ở bên kia.
NOT với Оператор BETWEEN
BETWEEN giúp chúng ta tìm các giá trị trong một phạm vi, và NOT BETWEEN làm ngược lại. Nó giống như thiết lập một khu vực "Chỉ cho trẻ em" và sau đó tìm mọi người không được phép vào.
SELECT * FROM employees WHERE age NOT BETWEEN 25 AND 35;
Truy vấn này sẽ tìm tất cả các nhân viên hoặc nhỏ hơn 25 tuổi hoặc lớn hơn 35 tuổi. Đó là một cách tuyệt vời để phân đoạn dữ liệu của bạn!
NOT với Lệnh UPDATE
Оператор NOT không chỉ dành cho các truy vấn SELECT. Chúng ta cũng có thể sử dụng nó trong các lệnh UPDATE! Hãy xem một ví dụ:
UPDATE inventory SET in_stock = 0 WHERE NOT product_id IN (101, 102, 103);
Truy vấn này cập nhật kho, đặt tất cả các sản phẩm là hết hàng ngoại trừ các sản phẩm có ID là 101, 102 và 103. Nó giống như làm sạch cửa hàng của bạn nhưng giữ lại một số mặt hàng đặc biệt.
NOT với Lệnh DELETE
Chúng ta cũng có thể sử dụng NOT trong các lệnh DELETE. Hãy cẩn thận với lệnh này - nó rất mạnh mẽ!
DELETE FROM old_records WHERE NOT date_created > '2020-01-01';
Truy vấn này sẽ xóa tất cả các bản ghi được tạo trước năm 2020. Nó giống như làm sạch lớn và giữ lại chỉ các món đồ mới hơn.
Оператор NOT Sử Dụng Trong Chương Trình Khách Hàng
Bây giờ, hãy xem cách chúng ta có thể sử dụng оператор NOT trong một chương trình khách hàng. Dưới đây là một ví dụ đơn giản bằng Python sử dụng MySQL Connector:
import mysql.connector
# Kết nối đến cơ sở dữ liệu
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='127.0.0.1', database='your_database')
cursor = cnx.cursor()
# Thực hiện một truy vấn với NOT
query = "SELECT * FROM students WHERE NOT grade = 'F'"
cursor.execute(query)
# Lấy và in kết quả
for (id, name, grade) in cursor:
print(f"Student {id}: {name} - Grade: {grade}")
# Đóng kết nối
cursor.close()
cnx.close()
Chương trình này kết nối đến một cơ sở dữ liệu MySQL, chạy một truy vấn để tìm tất cả các học sinh không đạt điểm F, và in thông tin của họ. Nó giống như ngày báo cáo bài, nhưng chỉ cho học sinh đã đạt!
Và thế là bạn đã hoàn thành chuyến tham quan nhanh chóng về оператор NOT trong MySQL. Nhớ rằng, trong thế giới cơ sở dữ liệu, đôi khi việc biết bạn không muốn gì cũng quan trọng như việc biết bạn muốn gì. Оператор NOT là người bạn trung thành của bạn trong những tình huống này.
Tiếp tục thực hành, giữ vững sự tò mò, và trước khi bạn biết, bạn sẽ sử dụng оператор NOT một cách thành thạo! Chúc bạn thành công trong việc truy vấn!
Credits: Image by storyset