Cập nhật dữ liệu trong TinyDB
TinyDB là một cơ sở dữ liệu nhỏ gọn, dễ sử dụng, lưu trữ dưới dạng JSON và rất phù hợp cho các ứng dụng đơn giản hoặc khi không cần một hệ quản trị cơ sở dữ liệu phức tạp. Bên cạnh việc lưu trữ và truy xuất dữ liệu, TinyDB còn cung cấp các phương thức mạnh mẽ để quản lý và cập nhật thông tin. Trong bài viết này, mình sẽ tìm hiểu cách sử dụng phương thức update()
của TinyDB để thay đổi dữ liệu trong cơ sở dữ liệu một cách hiệu quả và nhanh chóng.
TinyDB không chỉ giúp lưu trữ và truy xuất dữ liệu một cách dễ dàng, mà còn hỗ trợ cập nhật dữ liệu với phương thức update()
. Để có thể cập nhật dữ liệu, trước tiên ta cần tạo một đối tượng từ lớp Query
để xác định các tiêu chí truy vấn.
Ví dụ, chúng ta có thể tạo một đối tượng Student
từ lớp Query
như sau:
from tinydb import Query Student = Query()
Phương thức update()
trong TinyDB
Cú pháp cơ bản của phương thức update()
như sau:
Bài viết này được đăng tại [free tuts .net]
db.update({cột cần cập nhật: giá trị mới}, điều kiện truy vấn)
Cập nhật thông tin dữ liệu trong TinyDB
Giả sử chúng ta có một cơ sở dữ liệu về sinh viên như sau:
[ { "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" } ]
Bây giờ, nếu muốn thay đổi tên sinh viên có roll_number
là 1 từ "elen" thành "Adam", chúng ta có thể sử dụng lệnh sau:
from tinydb import TinyDB, Query student = Query() db.update({'st_name' : 'Adam'}, student.roll_number == 1)
Sau khi chạy lệnh này, bạn có thể sử dụng phương thức all()
để xem cơ sở dữ liệu đã được cập nhật:
db.all()
Kết quả sẽ như sau:
[ { "roll_number": 1, "st_name": "Adam", "mark": 250, "subject": "TinyDB", "address": "delhi" }, // Các bản ghi khác không thay đổi ]
Cập nhật toàn bộ dữ liệu trong TinyDB
Nếu bạn muốn cập nhật một hoặc nhiều cột cho tất cả các bản ghi trong cơ sở dữ liệu, bạn có thể bỏ qua điều kiện truy vấn. Ví dụ, để cập nhật địa chỉ của tất cả sinh viên thành "College_Hostel", sử dụng lệnh sau:
db.update({'address': 'College_Hostel'})
Sau đó, kết quả khi gọi db.all()
sẽ như sau:
[ { "roll_number": 1, "st_name": "Adam", "mark": 250, "subject": "TinyDB", "address": "College_Hostel" }, // Các bản ghi khác cũng sẽ có địa chỉ "College_Hostel" ]
Qua ví dụ trên, chúng ta đã thấy TinyDB cung cấp cách thức dễ dàng và linh hoạt để cập nhật dữ liệu trong cơ sở dữ liệu JSON.
Kết bài
Như vậy, TinyDB cung cấp các phương thức đơn giản nhưng rất hiệu quả để cập nhật dữ liệu, điển hình là phương thức update()
. Với TinyDB, việc thay đổi thông tin trong cơ sở dữ liệu trở nên dễ dàng, cho phép bạn tùy chỉnh các trường dữ liệu một cách linh hoạt. Dù chỉ là một cơ sở dữ liệu nhỏ gọn, TinyDB vẫn đáp ứng đầy đủ nhu cầu của các ứng dụng vừa và nhỏ. Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách cập nhật dữ liệu trong TinyDB và có thể áp dụng vào dự án của mình.