Rumah >pembangunan bahagian belakang >Tutorial Python >TinyDB ialah pangkalan data ringan yang ditulis semata-mata dalam Python.
TinyDB ialah pangkalan data ringan yang ditulis dalam Python tulen, dengan hanya 1800 baris kod secara keseluruhan dan tiada kebergantungan luaran.
Matlamat TinyDB adalah untuk memudahkan aplikasi Python kecil menggunakan pangkalan data Bagi sesetengah atur cara mudah, daripada menggunakan pangkalan data SQL, lebih baik menggunakan TinyDB kerana ia mempunyai ciri-ciri berikut:
Sebelum anda bermula, anda mesti pastikan Python dan pip telah berjaya dipasang pada komputer anda.
1. Persekitaran Windows Open Cmd (Start-Run-CMD).
2. Persekitaran MacOS Open Terminal (perintah+ruang untuk memasuki Terminal).
3. Jika anda menggunakan editor VSCode atau Pycharm, anda boleh terus menggunakan Terminal di bahagian bawah antara muka.
pip install tinydb
from tinydb import TinyDB db = TinyDB('db.json')Ini menjana fail pangkalan data bernama `db.json` dalam folder semasa. Masukkan data ke dalamnya:
from tinydb import TinyDB db = TinyDB('db.json') db.insert({'type': 'apple', 'count': 7}) db.insert({'type': 'peach', 'count': 3})Seperti yang anda lihat, kami boleh terus memasukkan data kamus ke dalam pangkalan data tanpa sebarang pemprosesan. Berikut ialah kaedah penyisipan kelompok:
db.insert_multiple([ {'name': 'John', 'age': 22}, {'name': 'John', 'age': 37}]) db.insert_multiple({'int': 1, 'value': i} for i in range(2))Soal semua data:
from tinydb import TinyDB db = TinyDB('db.json') db.all() # [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]Selain .all(), kita juga boleh menggunakan gelung for untuk melintasi db:
from tinydb import TinyDB db = TinyDB('db.json') for item in db: print(item) # {'count': 7, 'type': 'apple'} # {'count': 3, 'type': 'peach'}Jika anda perlu mencari Untuk data tertentu, anda boleh menggunakan Query():
from tinydb import TinyDB db = TinyDB('db.json') Fruit = Query() db.search(Fruit.type == 'peach') # [{'count': 3, 'type': 'peach'}] db.search(Fruit.count > 5) # [{'count': 7, 'type': 'apple'}]Kemas kini data:
from tinydb import TinyDB db = TinyDB('db.json') db.update({'foo': 'bar'}) # 删除某个Key from tinydb.operations import delete db.update(delete('key1'), User.name == 'John')Padam data:Anda juga boleh menggunakan pernyataan bersyarat yang serupa untuk memadam data:
from tinydb import TinyDB db = TinyDB('db.json') db.remove(Fruit.count < 5) db.all() # [{'count': 10, 'type': 'apple'}]Kosongkan seluruh pangkalan data:
from tinydb import TinyDB db = TinyDB('db.json') db.truncate() db.all() # []3 Pertanyaan lanjutanSelain operator titik untuk mengakses data, anda juga boleh menggunakan. perwakilan akses dict asli:
# 写法1 db.search(User.country-code == 'foo') # 写法2 db.search(User['country-code'] == 'foo')Kedua-dua ini Kedua-dua cara penulisan adalah setara. Sebagai tambahan kepada pengendali pertanyaan biasa (==,
, ...), TinyDB juga menyokong pernyataan where:
from tinydb import where db.search(where('field') == 'value')Ini bersamaan dengan:
rreee
Sintaks ini juga boleh mengakses medan bersarang:db.search(Query()['field'] == 'value')Sebarang kaedah pertanyaan:
db.search(where('birthday').year == 1900) # 或者 db.search(where('birthday')['year'] == 1900)Semak sama ada satu item disertakan dalam senarai:
db.search(Group.permissions.any(Permission.type == 'read')) # [{'name': 'user', 'permissions': [{'type': 'read'}]}, # {'name': 'sudo', 'permissions': [{'type': 'read'}, {'type': 'sudo'}]}, # {'name': 'admin', 'permissions': # [{'type': 'read'}, {'type': 'write'}, {'type': 'sudo'}]}]TinyDB juga menyokong dan Operasi logik seperti Panda:
db.search(User.name.one_of(['jane', 'john']))Itu sahaja untuk pengenalan kepada TinyDB Anda juga boleh melawati dokumentasi rasmi mereka untuk melihat lebih banyak kaedah penggunaan:
https:/ /www. .php.cn/link/8ff3fdef6f5144f50eb2a83cd34baa5d
Terutama bagi pelajar yang ingin melakukan pengoptimuman storan berdasarkan TinyDB, anda boleh membaca bab Storan & Pertengahan secara terperinci.Atas ialah kandungan terperinci TinyDB ialah pangkalan data ringan yang ditulis semata-mata dalam Python.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!