Heim >Backend-Entwicklung >Python-Tutorial >TinyDB ist eine leichtgewichtige Datenbank, die ausschließlich in Python geschrieben ist.
TinyDB ist eine schlanke Datenbank, die in reinem Python geschrieben ist, mit insgesamt nur 1800 Codezeilen und ohne externe Abhängigkeiten.
Das Ziel von TinyDB besteht darin, die Schwierigkeiten bei der Verwendung von Datenbanken für kleine Python-Anwendungen zu verringern. Für einige einfache Programme ist es besser, TinyDB zu verwenden, da es die folgenden Eigenschaften aufweist: # 🎜🎜##🎜 🎜#
Lightweight: Der aktuelle Quellcode umfasst 1800 Zeilen Code (ca. 40 % der Dokumentation) und 1600 Zeilen Testcode.Bitte wählen Sie eine der folgenden Methoden, um den Befehl zum Installieren von Abhängigkeiten einzugeben:
2. MacOS-Umgebung Öffnen Sie das Terminal (Befehl+Leertaste, um das Terminal aufzurufen).
3. Wenn Sie den VSCode-Editor oder Pycharm verwenden, können Sie direkt das Terminal am unteren Rand der Benutzeroberfläche verwenden.
pip install tinydb
2 Abfragebeispiel
from tinydb import TinyDB db = TinyDB('db.json')
Dadurch wird eine Datenbankdatei mit dem Namen „db.json“ im aktuellen Ordner generiert.
Daten darin einfügen:
from tinydb import TinyDB db = TinyDB('db.json') db.insert({'type': 'apple', 'count': 7}) db.insert({'type': 'peach', 'count': 3})
Wie Sie sehen, können wir Wörterbuchdaten ohne Verarbeitung direkt in die Datenbank einfügen. Das Folgende ist die Batch-Einfügungsmethode:
db.insert_multiple([ {'name': 'John', 'age': 22}, {'name': 'John', 'age': 37}]) db.insert_multiple({'int': 1, 'value': i} for i in range(2))
Alle Daten abfragen:
from tinydb import TinyDB db = TinyDB('db.json') db.all() # [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]
Zusätzlich zu .all() können wir auch eine for-Schleife verwenden, um die Datenbank zu durchlaufen:
from tinydb import TinyDB db = TinyDB('db.json') for item in db: print(item) # {'count': 7, 'type': 'apple'} # {'count': 3, 'type': 'peach'}#🎜 🎜#Wenn Sie nach bestimmten Daten suchen müssen, können Sie Query() verwenden:
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'}]Daten aktualisieren:
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')Daten löschen: # 🎜🎜#
Daten löschen Sie können auch ähnliche bedingte Anweisungen verwenden:
from tinydb import TinyDB db = TinyDB('db.json') db.remove(Fruit.count < 5) db.all() # [{'count': 10, 'type': 'apple'}]
Löschen Sie die gesamte Datenbank:
from tinydb import TinyDB db = TinyDB('db.json') db.truncate() db.all() # []
3 Erweiterte Abfrage
#🎜 🎜#Zusätzlich zu Punktoperatoren für den Zugriff auf Daten können Sie auch natives Diktat verwenden, um auf die Darstellung zuzugreifen:# 写法1 db.search(User.country-code == 'foo') # 写法2 db.search(User['country-code'] == 'foo')Diese beiden Schreibmethoden sind gleichwertig. Zusätzlich zu den gängigen Abfrageoperatoren (==,
, ...) unterstützt TinyDB auch where-Anweisungen:
from tinydb import where db.search(where('field') == 'value')
Dies entspricht: #🎜 🎜#
db.search(Query()['field'] == 'value')Diese Syntax bietet auch Zugriff auf verschachtelte Felder:
db.search(where('birthday').year == 1900) # 或者 db.search(where('birthday')['year'] == 1900)Beliebige Abfragemethode:
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'}]}]
Überprüfen Sie, ob ein einzelnes Element in der Liste enthalten ist: # 🎜🎜#
db.search(User.name.one_of(['jane', 'john']))TinyDB unterstützt auch logische Operationen ähnlich wie Pandas:
# Negate a query: db.search(~ (User.name == 'John')) # Logical AND: db.search((User.name == 'John') & (User.age <= 30)) # Logical OR: db.search((User.name == 'John') | (User.name == 'Bob'))Die Einführung von TinyDB finden Sie hier. Sie können auch die offizielle Dokumentation besuchen, um weitere Verwendungsmethoden zu sehen:
#🎜 🎜#
https://www.php.cn/link/8ff3fdef6f5144f50eb2a83cd34baa5d
Ich möchte vor allem etwas machen, das auf TinyDB basiert. Für Studenten der Speicheroptimierung, Sie Sie können das Kapitel „Speicherung und Middleware“ ausführlich lesen.
Das obige ist der detaillierte Inhalt vonTinyDB ist eine leichtgewichtige Datenbank, die ausschließlich in Python geschrieben ist.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!