Heim > Backend-Entwicklung > Python-Tutorial > TinyDB ist eine leichtgewichtige Datenbank, die ausschließlich in Python geschrieben ist.

TinyDB ist eine leichtgewichtige Datenbank, die ausschließlich in Python geschrieben ist.

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-05-15 13:19:06
nach vorne
1351 Leute haben es durchsucht

TinyDB 一个纯Python编写的轻量级数据库

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.
  • Kann nach Belieben migriert werden: Die Datenbankdatei wird im aktuellen Ordner generiert, es ist kein Dienst erforderlich und kann nach Belieben migriert werden.
  • Einfachheit: TinyDB erleichtert Benutzern die Verwendung, indem es eine einfache und saubere API bereitstellt.
  • In reinem Python geschrieben: TinyDB benötigt weder einen externen Server noch irgendwelche Abhängigkeiten von PyPI.
  • Funktioniert mit Python 3.6+ und PyPy3: TinyDB funktioniert mit allen modernen Versionen von Python und PyPy.
  • Leistungsstarke Skalierbarkeit: Sie können TinyDB einfach erweitern, indem Sie Middleware schreiben, um das Verhalten des Speichers zu ändern.
  • 100 % Testabdeckung: Keine Erklärung erforderlich.
  • 1. Vorbereitung

Bevor Sie beginnen, müssen Sie sicherstellen, dass Python und pip erfolgreich auf Ihrem Computer installiert wurden.

Bitte wählen Sie eine der folgenden Methoden, um den Befehl zum Installieren von Abhängigkeiten einzugeben:

1. Windows-Umgebung Öffnen Sie Cmd (Start-Ausführen-CMD).

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
Nach dem Login kopieren

2 Abfragebeispiel

Eine DB-Datei initialisieren:

from tinydb import TinyDB
db = TinyDB('db.json')
Nach dem Login kopieren

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})
Nach dem Login kopieren

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))
Nach dem Login kopieren

Alle Daten abfragen:

from tinydb import TinyDB
db = TinyDB('db.json')
db.all()
# [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]
Nach dem Login kopieren

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'}
Nach dem Login kopieren
#🎜 🎜#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'}]
Nach dem Login kopieren

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')
Nach dem Login kopieren

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'}]
Nach dem Login kopieren

Löschen Sie die gesamte Datenbank:

from tinydb import TinyDB
db = TinyDB('db.json')
db.truncate()
db.all()
# []
Nach dem Login kopieren

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')
Nach dem Login kopieren

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')
Nach dem Login kopieren

Dies entspricht: #🎜 🎜#

db.search(Query()['field'] == 'value')
Nach dem Login kopieren

Diese Syntax bietet auch Zugriff auf verschachtelte Felder:

db.search(where('birthday').year == 1900)
# 或者
db.search(where('birthday')['year'] == 1900)
Nach dem Login kopieren
<, >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'}]}]
Nach dem Login kopieren

Überprüfen Sie, ob ein einzelnes Element in der Liste enthalten ist: # 🎜🎜#

db.search(User.name.one_of(['jane', 'john']))
Nach dem Login kopieren

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'))
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage