TINYDB USEFUL RESOURCES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Phủ định logic trong TinyDB

Trong quá trình làm việc với cơ sở dữ liệu, đôi khi chúng ta không chỉ cần tìm kiếm những bản ghi phù hợp mà còn cần loại bỏ các bản ghi không thỏa mãn một điều kiện nhất định. Để thực hiện điều này, TinyDB cung cấp phương pháp Phủ định logic (Logical Negate), cho phép người dùng tìm kiếm và lấy các dữ liệu đối lập với kết quả của một truy vấn cụ thể. Bài viết này sẽ giới thiệu về cú pháp và cách sử dụng phủ định logic trong TinyDB thông qua các ví dụ minh họa, giúp bạn dễ dàng lọc và xử lý dữ liệu hiệu quả hơn.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Phủ định logic hoạt động như một cổng logic đảo ngược. Nó sẽ tìm các bản ghi không khớp với truy vấn đã cho. Nói một cách đơn giản, nó hiển thị kết quả trái ngược với lệnh đã cung cấp.

Cú pháp của Phủ định logic trong TinyDB

db.search(~(Query().field))

Trong đó, field đại diện cho phần dữ liệu mà chúng ta muốn truy cập. Query() là đối tượng được tạo từ bảng JSON của chúng ta, ví dụ như bảng sinh viên. Câu lệnh này sẽ lấy những dữ liệu có ý nghĩa ngược lại với lệnh đã đưa ra.

Hãy cùng tìm hiểu cách hoạt động thông qua một vài ví dụ. Chúng ta sẽ tiếp tục sử dụng cơ sở dữ liệu sinh viên giống như các chương trước.

Bài viết này được đăng tại [free tuts .net]

Ví dụ 1

Hãy xem cách tìm những bản ghi từ bảng sinh viên, nơi tên sinh viên không phải là 'elen' −

from tinydb import TinyDB, Query
db = TinyDB('student.json')
db.search(~(Query().st_name == 'elen'))

Câu truy vấn trên sẽ tìm tất cả các bản ghi mà tên sinh viên không phải là "elen".

[   {      "roll_number":2,      "st_name":"Ram",      "mark":[         250,         280      ],
      "subject":[
         "TinyDB",
         "MySQL"
      ],
      "address":"delhi"
   },
   {
      "roll_number":3,
      "st_name":"kevin",
      "mark":[
         180,
         200
      ],
      "subject":[
         "oracle",
         "sql"
      ],
      "address":"keral"
   },
   {
      "roll_number":4,
      "st_name":"lakan",
      "mark":200,
      "subject":"MySQL",
      "address":"mumbai"
   },
   {
      "roll_number":5,
      "st_name":"karan",
      "mark":275,
      "subject":"TinyDB",
      "address":"benglore"
   }
]

Ví dụ 2

Hãy xem cách chúng ta có thể tránh một địa chỉ cụ thể bằng cách sử dụng phủ định logic −

from tinydb import TinyDB, Query
db = TinyDB('student.json')
db.search(~(Query().address.one_of(['keral', 'delhi'])))

Câu truy vấn này sẽ tìm tất cả các bản ghi mà trường "address" không phải là "keral" hoặc "delhi".

[   {      "roll_number":4,      "st_name":"lakan",      "mark":200,      "subject":"MySQL",      "address":"mumbai"   },   {      "roll_number":5,      "st_name":"karan",      "mark":275,      "subject":"TinyDB",      "address":"benglore"   }]

Trong các ví dụ trên, Phủ định logic đã giúp dễ dàng lọc dữ liệu bằng cách tìm kiếm những thông tin không khớp với điều kiện đã cho. Điều này rất hữu ích khi cần tránh hoặc loại bỏ các kết quả không mong muốn trong cơ sở dữ liệu.

Kết bài

Tóm lại, phủ định logic (Logical Negate) trong TinyDB là một công cụ hữu ích giúp chúng ta dễ dàng lọc ra những bản ghi không thỏa mãn một điều kiện cụ thể. Bằng cách sử dụng phủ định logic, bạn có thể tìm kiếm dữ liệu một cách linh hoạt hơn và loại bỏ những kết quả không mong muốn. Hy vọng rằng qua bài viết này, bạn đã nắm bắt được cách áp dụng phủ định logic trong TinyDB để tối ưu hóa việc xử lý và truy vấn dữ liệu của mình.

Cùng chuyên mục:

Tìm hiểu cách kết nối MariaDB

Tìm hiểu cách kết nối MariaDB

Extend TinyDB trong TinyDB

Extend TinyDB trong TinyDB

Tìm hiểu Middleware trong TinyDB

Tìm hiểu Middleware trong TinyDB

Storage Types trong TinyDB

Storage Types trong TinyDB

Caching Query trong TinyDB

Caching Query trong TinyDB

Table mặc định trong TinyDB

Table mặc định trong TinyDB

Tìm hiểu Tables trong TinyDB

Tìm hiểu Tables trong TinyDB

ID tài liệu (Document ID) trong TinyDB

ID tài liệu (Document ID) trong TinyDB

Truy xuất dữ liệu TinyDB

Truy xuất dữ liệu TinyDB

Upserting dữ iệu trong TinyDB

Upserting dữ iệu trong TinyDB

Thao tác chỉnh sửa dữ liệu trong TinyDB

Thao tác chỉnh sửa dữ liệu trong TinyDB

Xử lý truy vấn dữ liệu trong TinyDB

Xử lý truy vấn dữ liệu trong TinyDB

Toán tử Logical OR trong TinyDB

Toán tử Logical OR trong TinyDB

Toán tử

Toán tử "Logical AND" trong TinyDB

Truy vấn one_of() trong TinyDB

Truy vấn one_of() trong TinyDB

Truy vấn all() trong TinyDB

Truy vấn all() trong TinyDB

Truy vấn any() trong TinyDB

Truy vấn any() trong TinyDB

Truy vấn test() trong TinyDB

Truy vấn test() trong TinyDB

Truy vấn matches() trong TinyDB

Truy vấn matches() trong TinyDB

Truy vấn exists() nâng cao trong TinyDB

Truy vấn exists() nâng cao trong TinyDB

Top