Maison >développement back-end >Tutoriel Python >TinyDB est une base de données légère écrite uniquement en Python.
TinyDB est une base de données légère écrite en Python pur, avec seulement 1800 lignes de code au total et aucune dépendance externe.
Le but de TinyDB est de réduire la difficulté d'utilisation des bases de données pour les petites applications Python. Pour certains programmes simples, au lieu d'utiliser des bases de données SQL, il est préférable d'utiliser TinyDB car il présente les caractéristiques suivantes :
Avant de commencer, vous devez vous assurer que Python et pip ont été installés avec succès sur votre ordinateur.
1. Environnement Windows Ouvrez Cmd (Démarrer-Exécuter-CMD).
2. Environnement MacOS Ouvrez Terminal (commande + espace pour entrer dans le Terminal).
3. Si vous utilisez l'éditeur VSCode ou Pycharm, vous pouvez utiliser directement le terminal en bas de l'interface.
pip install tinydb
Initialiser un fichier DB :
from tinydb import TinyDB db = TinyDB('db.json')
. De cette façon, ce sera dans le dossier actuel. Un fichier de base de données nommé « db.json » est généré ci-dessous.
Insérez des données dedans :
from tinydb import TinyDB db = TinyDB('db.json') db.insert({'type': 'apple', 'count': 7}) db.insert({'type': 'peach', 'count': 3})
Comme vous pouvez le voir, nous pouvons directement insérer des données de dictionnaire dans la base de données sans aucun traitement. Voici la méthode d'insertion par lots :
db.insert_multiple([ {'name': 'John', 'age': 22}, {'name': 'John', 'age': 37}]) db.insert_multiple({'int': 1, 'value': i} for i in range(2))
Interroger toutes les données :
from tinydb import TinyDB db = TinyDB('db.json') db.all() # [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]
En plus de .all(), nous pouvons également utiliser une boucle for pour parcourir la base de données :
from tinydb import TinyDB db = TinyDB('db.json') for item in db: print(item) # {'count': 7, 'type': 'apple'} # {'count': 3, 'type': 'peach'}
Si vous devez rechercher des données spécifiques, vous peut utiliser 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'}]
Mettre à jour les données :
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')
Supprimer les données :
Vous pouvez également utiliser des instructions conditionnelles similaires pour supprimer des données :
from tinydb import TinyDB db = TinyDB('db.json') db.remove(Fruit.count < 5) db.all() # [{'count': 10, 'type': 'apple'}]
Effacer toute la base de données :
from tinydb import TinyDB db = TinyDB('db.json') db.truncate() db.all() # []
En plus. aux opérateurs point pour accéder aux données, vous pouvez également utiliser la notation native d'accès Dict :
# 写法1 db.search(User.country-code == 'foo') # 写法2 db.search(User['country-code'] == 'foo')
Ces deux méthodes d'écriture sont équivalentes.
En plus des opérateurs de requête courants (==, , ...), TinyDB prend également en charge l'instruction Where :
from tinydb import where db.search(where('field') == 'value')
Cela équivaut à :
db.search(Query()['field'] == 'value')
Cette syntaxe peut également accéder aux champs imbriqués :
db.search(where('birthday').year == 1900) # 或者 db.search(where('birthday')['year'] == 1900)
Any méthode de requête :
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'}]}]
Vérifiez si un seul élément est inclus dans la liste :
db.search(User.name.one_of(['jane', 'john']))
TinyDB prend également en charge les opérations logiques similaires à 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'))
L'introduction de TinyDB est ici, vous pouvez également visiter leur documentation officielle pour voir Plus de méthodes d'utilisation :
https://www.php.cn/link/8ff3fdef6f5144f50eb2a83cd34baa5d
Surtout pour les étudiants qui souhaitent optimiser le stockage basé sur TinyDB, vous pouvez lire en détail le chapitre Stockage et middleware .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!