Rumah > pembangunan bahagian belakang > Tutorial Python > TinyDB ialah pangkalan data ringan yang ditulis semata-mata dalam Python.

TinyDB ialah pangkalan data ringan yang ditulis semata-mata dalam Python.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-05-15 13:19:06
ke hadapan
1473 orang telah melayarinya

TinyDB 一个纯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:

  • Ringan: Kod sumber semasa mempunyai 1800 baris kod (kira-kira 40% daripada dokumentasi) dan 1600 baris kod ujian.
  • Boleh dipindahkan sesuka hati: Fail pangkalan data dijana dalam folder semasa, tiada perkhidmatan diperlukan dan boleh dipindahkan sesuka hati.
  • Mudah: TinyDB memudahkan pengguna untuk menggunakan dengan menyediakan API yang ringkas dan bersih.
  • Ditulis dalam Python tulen: TinyDB tidak memerlukan pelayan luaran mahupun sebarang kebergantungan daripada PyPI.
  • Berfungsi dengan Python 3.6+ dan PyPy3: TinyDB berfungsi dengan semua versi moden Python dan PyPy.
  • Skala yang berkuasa: Anda boleh melanjutkan TinyDB dengan mudah dengan menulis perisian tengah untuk mengubah suai gelagat storan.
  • 100% Liputan Ujian: Tiada penjelasan diperlukan.

1. Persediaan

Sebelum anda bermula, anda mesti pastikan Python dan pip telah berjaya dipasang pada komputer anda.

Sila pilih mana-mana kaedah berikut untuk memasukkan arahan untuk memasang kebergantungan:

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
Salin selepas log masuk

2 >

Memulakan satu fail DB:

from tinydb import TinyDB
db = TinyDB('db.json')
Salin selepas log masuk

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})
Salin selepas log masuk

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))
Salin selepas log masuk

Soal semua data:

from tinydb import TinyDB
db = TinyDB('db.json')
db.all()
# [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]
Salin selepas log masuk

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'}
Salin selepas log masuk

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'}]
Salin selepas log masuk

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')
Salin selepas log masuk

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'}]
Salin selepas log masuk

Kosongkan seluruh pangkalan data:

from tinydb import TinyDB
db = TinyDB('db.json')
db.truncate()
db.all()
# []
Salin selepas log masuk

3 Pertanyaan lanjutan

Selain 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')
Salin selepas log masuk

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')
Salin selepas log masuk

Ini bersamaan dengan:

rreee

Sintaks ini juga boleh mengakses medan bersarang:

db.search(Query()['field'] == 'value')
Salin selepas log masuk

Sebarang kaedah pertanyaan:

db.search(where('birthday').year == 1900)
# 或者
db.search(where('birthday')['year'] == 1900)
Salin selepas log masuk

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'}]}]
Salin selepas log masuk

TinyDB juga menyokong dan Operasi logik seperti Panda:

db.search(User.name.one_of(['jane', 'john']))
Salin selepas log masuk
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!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan