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

Storage Types trong TinyDB

TinyDB là một thư viện cơ sở dữ liệu nhỏ gọn, dễ sử dụng dành cho Python, cho phép lưu trữ dữ liệu dưới dạng JSON hoặc trong bộ nhớ (in-memory). Không giống như các hệ quản trị cơ sở dữ liệu lớn, TinyDB cung cấp một giải pháp đơn giản nhưng mạnh mẽ cho các dự án nhỏ và ứng dụng đơn lẻ, nơi việc thiết lập và quản lý cơ sở dữ liệu phức tạp là không cần thiết. Trong bài viết này, mình sẽ tìm các loại lưu trữ mà TinyDB hỗ trợ, cách lưu trữ dữ liệu vào file JSON và cách sử dụng in-memory để quản lý dữ liệu một cách hiệu quả.

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 hỗ trợ hai loại lưu trữ: JSONin-memory (trong bộ nhớ). Mặc định, TinyDB lưu dữ liệu trong các file JSON. Khi tạo một cơ sở dữ liệu, bạn cần chỉ định đường dẫn nơi lưu trữ file JSON trên máy tính của mình.

Lưu dữ liệu vào file JSON trong TinyDB

Đầu tiên, hãy xem cách chúng ta có thể sử dụng file JSON để lưu dữ liệu:

from tinydb import TinyDB, where
db = TinyDB('path/to/file_name.json')

Ví dụ lưu dữ liệu vào file JSON

Trong ví dụ này, chúng ta sẽ chèn nhiều tài liệu (document) vào một file JSON:

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

from tinydb import TinyDB
db = TinyDB('storage.json')
db.insert_multiple([
   {
      "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": "lakhan",
      "mark": 200,
      "subject": "MySQL",
      "address": "mumbai"
   },
   {
      "roll_number": 5,
      "st_name": "karan",
      "mark": 275,
      "subject": "oracle",
      "address": "benglore"
   }
])

Chúng ta đã chèn 5 tài liệu vào file "storage.json". Để xác minh các bản ghi, sử dụng truy vấn sau:

db.all()

Nó sẽ hiển thị nội dung của file "storage.json":

[
   {
      "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": "lakhan",
      "mark": 200,
      "subject": "MySQL",
      "address": "mumbai"
   },
   {
      "roll_number": 5,
      "st_name": "karan",
      "mark": 275,
      "subject": "oracle",
      "address": "benglore"
   }
]

Sử dụng "In-memory" để lưu dữ liệu trong TinyDB

Bây giờ, hãy xem cách sử dụng "in-memory" để lưu dữ liệu:

from tinydb import TinyDB
from tinydb.storages import MemoryStorage
object = TinyDB(storage=MemoryStorage)
TinyDB.DEFAULT_STORAGE = MemoryStorage

Ví dụ sử dụng "In-memory" để lưu dữ liệu

Ví dụ sau đây sẽ chỉ ra cách chèn nhiều tài liệu vào bộ nhớ lưu trữ mặc định:

from tinydb import TinyDB
from tinydb.storages import MemoryStorage
object = TinyDB(storage=MemoryStorage)
TinyDB.DEFAULT_STORAGE = MemoryStorage
object.insert_multiple([
   {
      "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": "lakhan",
      "mark": 200,
      "subject": "MySQL",
      "address": "mumbai"
   },
   {
      "roll_number": 5,
      "st_name": "karan",
      "mark": 275,
      "subject": "oracle",
      "address": "benglore"
   }
])

Để xác minh các tài liệu đã được chèn, sử dụng truy vấn sau:

object.all()

Kết quả hiển thị dữ liệu đã chèn:

[
   {
      "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": "lakhan",
      "mark": 200,
      "subject": "MySQL",
      "address": "mumbai"
   },
   {
      "roll_number": 5,
      "st_name": "karan",
      "mark": 275,
      "subject": "oracle",
      "address": "benglore"
   }
]

Kết bài

TinyDB mang đến sự linh hoạt và đơn giản trong việc lưu trữ dữ liệu, từ việc sử dụng file JSON đến in-memory. Điều này giúp TinyDB trở thành một lựa chọn lý tưởng cho các dự án nhỏ, nơi không cần thiết phải triển khai các hệ quản trị cơ sở dữ liệu phức tạp. Với khả năng lưu trữ dữ liệu dễ dàng và truy xuất nhanh chóng, TinyDB không chỉ phù hợp với các lập trình viên mới bắt đầu mà còn là công cụ hữu ích cho những ứng dụng nhỏ gọn, đòi hỏi hiệu suất cao. Qua bài viết này, hy vọng bạn đã nắm được cách sử dụng các loại lưu trữ của TinyDB một cách hiệu quả.

Cùng chuyên mục:

Tìm hiểu Middleware trong TinyDB

Tìm hiểu Middleware 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

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