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

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

Trong việc quản lý và xử lý dữ liệu trong các ứng dụng, việc thao tác với cơ sở dữ liệu là một phần không thể thiếu. TinyDB, một cơ sở dữ liệu NoSQL nhỏ gọn và dễ sử dụng, mang đến cho người dùng những phương thức hiệu quả để lưu trữ và truy xuất dữ liệu một cách linh hoạt. Một trong những tính năng quan trọng của TinyDB là khả năng lưu trữ nhiều mục dữ liệu cùng lúc bằng câu lệnh insert_multiple. Trong bài viết này, Mình sẽ cùng tìm hiểu cách sử dụng tính năng này, giúp bạn quản lý dữ liệu hiệu quả hơn trong các ứng dụng thực tế.

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.

Lưu trữ nhiều dữ liệu cùng lúc trong TinyDB

đã thảo luận về cách sử dụng câu lệnh 'insert' để lưu dữ liệu vào cơ sở dữ liệu. Tương tự, bạn có thể sử dụng câu lệnh 'insert_multiple' để lưu nhiều mục dữ liệu cùng lúc. Dưới đây là cú pháp của câu lệnh 'insert_multiple' trong TinyDB:

db.insert_multiple([
   { key1: value1, key2: value2, ..., keyN: valueN },
   { key1: value1, key2: value2, ..., keyN: valueN }
])

Ở đây:

  • key1, key2, ..., keyN là các trường trong cơ sở dữ liệu, và value1, value2, ..., valueN là các giá trị tương ứng mà bạn muốn lưu vào.

Ví dụ 1

Hãy xem cách chèn hai bản ghi sinh viên vào bảng 'student' bằng câu lệnh insert_multiple:

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

from tinydb import TinyDB, Query
db = TinyDB('student.json')
db.insert_multiple([
   {
      "roll_number":6,
      "st_name":"Siya",
      "mark":240,
      "subject":"NoSQL",
      "address":"pune"
   },
   {
      "roll_number":7,
      "st_name":"Adam",
      "mark":210,
      "subject":"oracle",
      "address":"Keral"
   }
])

Sau khi thực hiện, nó sẽ trả về ID tài liệu của các bản ghi mới được lưu:

[6, 7]

Để kiểm tra xem các bản ghi mới đã được lưu vào cơ sở dữ liệu chưa, chúng ta có thể sử dụng phương thức all(), như sau:

db.all()

Nó sẽ hiển thị tất cả các bản ghi đã lưu trong bảng 'student':

[
   {
      "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"
   },
   {
      "roll_number":6,
      "st_name":"Siya",
      "mark":240,
      "subject":"NoSQL",
      "address":"pune"
   },
   {
      "roll_number":7,
      "st_name":"Adam",
      "mark":210,
      "subject":"oracle",
      "address":"Keral"
   }
]

Như bạn thấy, hai bản ghi sinh viên mới đã được lưu vào cơ sở dữ liệu.

Ví dụ 2

Trong ví dụ này, mình sẽ sử dụng insert_multiple với một vòng lặp for để chèn nhiều giá trị vào bảng cùng lúc. Sử dụng đoạn mã sau:

db.insert_multiple({'roll_number': 10, 'numbers': r} for r in range(3))

Câu lệnh này sẽ trả về ID tài liệu của các bản ghi mới được lưu:

[8, 9, 10]

Tiếp tục sử dụng phương thức all() để kiểm tra các bản ghi mới đã được lưu vào cơ sở dữ liệu hay chưa:

db.all()

Nó sẽ hiển thị tất cả các bản ghi đã lưu trong bảng 'student':

[
   {
      "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"
   },
   {
      "roll_number":6,
      "st_name":"Siya",
      "mark":240,
      "subject":"NoSQL",
      "address":"pune"
   },
   {
      "roll_number":7,
      "st_name":"Adam",
      "mark":210,
      "subject":"oracle",
      "address":"Keral"
   },
   {
      "roll_number":10,
      "numbers":0
   },
   {
      "roll_number":10,
      "numbers":1
   },
   {
      "roll_number":10,
      "numbers":2
   }
]

Chú ý ba dòng cuối cùng. Mình đã sử dụng phương thức insert_multiple kết hợp với vòng lặp for để chèn ba bản ghi mới vào bảng.

Kết bài

Câu lệnh insert_multiple trong TinyDB rất hữu ích khi bạn cần lưu nhiều bản ghi cùng một lúc. Với cú pháp dễ hiểu và tính linh hoạt, việc thao tác dữ liệu trở nên đơn giản và hiệu quả hơn, đặc biệt khi làm việc với khối lượng dữ liệu lớn.

Cùng chuyên mục:

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

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

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

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

Câu lệnh

Câu lệnh "where" trong TinyDB

Tìm kiếm dữ liệu trong  TinyDB

Tìm kiếm dữ liệu trong TinyDB

Top