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

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

TinyDB sử dụng file JSON để lưu trữ dữ liệu, cho phép truy vấn đơn giản và trực quan thông qua các hàm như exists(). Khác với các hệ quản trị cơ sở dữ liệu lớn và phức tạp, TinyDB mang đến một giải pháp nhẹ, dễ sử dụng nhưng vẫn đảm bảo tính hiệu quả trong việc tìm kiếm và quản lý dữ liệu. Truy vấn exists() là một trong những công cụ mạnh mẽ giúp kiểm tra sự tồn tại của một trường dữ liệu trong bảng, từ đó tối ưu hoá quá trình truy xuất và xử lý thông tin.

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.

TinyDB cung cấp một truy vấn nâng cao gọi là exists(), cho phép kiểm tra sự tồn tại của dữ liệu trong file JSON. Truy vấn này hoạt động dựa trên điều kiện Boolean: nếu trường con (subfield) tồn tại (TRUE), nó sẽ trả về dữ liệu tương ứng, ngược lại sẽ trả về giá trị trống.

Cú pháp của truy vấn exists() trong TinyDB

db.search(Query().field.exists())

Trong đó, field là trường dữ liệu mà bạn muốn truy xuất. Đối tượng Query() được tạo từ bảng JSON, ví dụ như bảng "student" mà chúng ta đã sử dụng trong các ví dụ trước.

Ví dụ 1

Giả sử chúng ta muốn kiểm tra sự tồn tại của trường "subject" trong cơ sở dữ liệu của các sinh viên, truy vấn sẽ như sau:

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

db.search(student.subject.exists())

Truy vấn này sẽ trả về tất cả các hàng có chứa trường "subject", bởi vì trong dữ liệu mẫu, tất cả các hàng đều có trường này:

[
   {
      "roll_number": 1,
      "st_name": "elen",
      "mark": 250,
      "subject": "TinyDB",
      "address": "delhi"
   },
   {
      "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

Bây giờ chúng ta kiểm tra sự tồn tại của trường "address":

db.search(student.address.exists())

Truy vấn này cũng sẽ trả về tất cả các hàng vì mọi sinh viên đều có trường "address":

[
   {
      "roll_number": 1,
      "st_name": "elen",
      "mark": 250,
      "subject": "TinyDB",
      "address": "delhi"
   },
   {
      "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ụ 3

Bây giờ chúng ta thử kiểm tra một trường không tồn tại, chẳng hạn như "city":

db.search(student.city.exists())

Vì không có hàng nào có trường "city" trong dữ liệu mẫu, truy vấn sẽ trả về giá trị trống:

[]

Kết bài

Truy vấn exists() trong TinyDB thực sự là một công cụ mạnh mẽ và tiện lợi, giúp người dùng dễ dàng kiểm tra sự tồn tại của các trường trong cơ sở dữ liệu mà không cần xử lý quá phức tạp. Nhờ vào tính năng này, quá trình lọc và truy xuất dữ liệu trở nên nhanh chóng và chính xác hơn, đặc biệt trong các ứng dụng nhỏ gọn, linh hoạt. Việc hiểu và sử dụng thành thạo các truy vấn như exists() sẽ giúp tối ưu hoá hiệu quả làm việc với TinyDB, đồng thời nâng cao khả năng quản lý và phân tích dữ liệu của bạn.

Cùng chuyên mục:

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

Phủ định logic trong TinyDB

Phủ định logic 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

Câu lệnh

Câu lệnh "where" trong TinyDB

Top