Chèn dữ liệu vào TinyDB
Trong bài viết này, mình sẽ tìm hiểu cách chèn dữ liệu vào cơ sở dữ liệu TinyDB bằng Python. TinyDB là một cơ sở dữ liệu không cần máy chủ, gọn nhẹ và dễ sử dụng, rất phù hợp cho các dự án nhỏ hoặc ứng dụng đơn giản. Việc lưu trữ dữ liệu trong TinyDB được thực hiện dưới dạng tệp JSON, và bạn có thể thao tác với dữ liệu một cách dễ dàng thông qua cú pháp trực quan của Python. Hãy cùng khám phá cách thêm dữ liệu vào TinyDB, từ việc chèn một phần tử đơn lẻ cho đến chèn nhiều phần tử cùng lúc.
Sau khi đã tạo thành công một instance của TinyDB và chỉ định tệp JSON để lưu trữ dữ liệu, giờ là lúc mình sẽ tiến hành chèn các phần tử vào cơ sở dữ liệu. Dữ liệu sẽ được lưu trữ dưới dạng từ điển (dictionary) trong Python.
Cú pháp chèn dữ liệu vào TinyDB
Để chèn một phần tử, bạn có thể sử dụng phương thức insert()
với cú pháp như sau:
db.insert({'type1': 'value1', 'type2': 'value2', 'typeN': 'valueN'})
Ngoài ra, bạn cũng có thể tạo trước một từ điển và sau đó sử dụng phương thức insert()
để chèn dữ liệu vào cơ sở dữ liệu.
Bài viết này được đăng tại [free tuts .net]
data_item = {'type1': 'value1', 'type2': 'value2', 'typeN': 'valueN'} db.insert(data_item)
Sau khi chạy lệnh trên, phương thức insert()
sẽ trả về ID của đối tượng vừa được tạo. Tệp JSON của mình sau đó sẽ có cấu trúc như sau:
{ "_default": { "1": { "type1": "value1", "type2": "value2", "typeN": "valueN" } } }
Trong bảng trên:
'default'
là tên của bảng.'1'
là ID của đối tượng vừa được tạo.- Các giá trị
value1
,value2
,valueN
là dữ liệu mà mình vừa chèn.
Ví dụ chèn một phần tử trong TinyDB
Để hiểu rõ hơn, mình hãy xem qua một ví dụ. Giả sử bạn có cơ sở dữ liệu về thông tin sinh viên bao gồm số báo danh, tên, điểm, môn học và địa chỉ. Dữ liệu sẽ được lưu trữ 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":"Kerala" }, { "roll_number":4, "st_name":"Lakan", "mark":200, "subject":"MySQL", "address":"Mumbai" }, { "roll_number":5, "st_name":"Karan", "mark":275, "subject":"Oracle", "address":"Bengaluru" } ]
Nếu bạn muốn chèn thêm một bản ghi sinh viên mới, sử dụng lệnh sau:
db.insert({ 'roll_number': 6, 'st_name': 'Jim', 'mark': 300, 'subject': 'SQL', 'address': 'Pune' })
Lệnh trên sẽ trả về ID của đối tượng vừa được tạo là 6
. Tiếp tục, chèn thêm một bản ghi nữa:
db.insert({ 'roll_number': 7, 'st_name': 'Karan', 'mark': 290, 'subject': 'NoSQL', 'address': 'Chennai' })
Lệnh này trả về ID 7
. Để kiểm tra các phần tử đã được lưu trong cơ sở dữ liệu, sử dụng phương thức all()
như sau:
db.all()
Kết quả sẽ trả về:
[ {"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":"Kerala"}, {"roll_number":4, "st_name":"Lakan", "mark":200, "subject":"MySQL", "address":"Mumbai"}, {"roll_number":5, "st_name":"Karan", "mark":275, "subject":"Oracle", "address":"Bengaluru"}, {"roll_number":6, "st_name":"Jim", "mark":300, "subject":"SQL", "address":"Pune"}, {"roll_number":7, "st_name":"Karan", "mark":290, "subject":"NoSQL", "address":"Chennai"} ]
Như bạn thấy, đã có hai bản ghi mới được thêm vào tệp JSON.
Ví dụ chèn nhiều phần tử cùng lúc vào TinyDB
Bạn cũng có thể chèn nhiều phần tử vào cơ sở dữ liệu TinyDB bằng cách sử dụng phương thức insert_multiple()
. Ví dụ:
items = [ {'roll_number': 8, 'st_name': 'Peter', 'address': 'Mumbai'}, {'roll_number': 9, 'st_name': 'Sadhana', 'subject': 'SQL'} ] db.insert_multiple(items)
Bây giờ, hãy kiểm tra các phần tử đã lưu bằng phương thức all()
:
db.all()
Kết quả sẽ là:
[ {"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":"Kerala"}, {"roll_number":4, "st_name":"Lakan", "mark":200, "subject":"MySQL", "address":"Mumbai"}, {"roll_number":5, "st_name":"Karan", "mark":275, "subject":"Oracle", "address":"Bengaluru"}, {"roll_number":6, "st_name":"Jim", "mark":300, "subject":"SQL", "address":"Pune"}, {"roll_number":7, "st_name":"Karan", "mark":290, "subject":"NoSQL", "address":"Chennai"}, {"roll_number":8, "st_name":"Peter", "address":"Mumbai"}, {"roll_number":9, "st_name":"Sadhana", "subject":"SQL"} ]
Mình có thể thấy rằng hai bản ghi mới đã được thêm vào thành công. Bạn có thể bỏ qua một số trường dữ liệu trong quá trình thêm các phần tử mới, như trong ví dụ trên, mình đã không cung cấp thông tin về mark
và subject
cho một số sinh viên.
Kết bài
Qua bài viết này, mình đã tìm hiểu cách chèn dữ liệu vào cơ sở dữ liệu TinyDB, bao gồm cả việc chèn một phần tử đơn lẻ và nhiều phần tử cùng lúc. TinyDB cung cấp một giải pháp lưu trữ dữ liệu nhẹ nhàng, linh hoạt, phù hợp cho các ứng dụng nhỏ mà không cần phải sử dụng các hệ thống cơ sở dữ liệu phức tạp. Với cú pháp dễ hiểu và khả năng quản lý dữ liệu đơn giản, TinyDB là lựa chọn tuyệt vời cho những ai đang tìm kiếm một cơ sở dữ liệu dễ triển khai và quản lý.