ホームページ >バックエンド開発 >Python チュートリアル >TinyDB は、純粋に Python で書かれた軽量データベースです。
TinyDB は純粋な Python で書かれた軽量データベースで、コードは合計 1,800 行のみで、外部依存関係はありません。
TinyDB の目標は、小規模な Python アプリケーションでデータベースを使用する際の困難を軽減することです。一部の単純なプログラムでは、SQL データベースを使用する代わりに、TinyDB を使用する方が適切です。これは、TinyDB には次の特性があるためです:
開始する前に、Python と pip がコンピューターに正常にインストールされていることを確認する必要があります。
1. Windows 環境で Cmd (Start-Run-CMD) を開きます。
2. MacOS 環境 ターミナルを開きます (コマンドスペースを入力してターミナルに入ります)。
3. VSCode エディターまたは Pycharm を使用している場合は、インターフェイスの下部にあるターミナルを直接使用できます。
pip install tinydb
1 つの DB ファイルを初期化します:
from tinydb import TinyDB db = TinyDB('db.json')
これにより、現在のフォルダーに `db.json` という名前のデータベース ファイルが生成されます。
データをそれに挿入します:
from tinydb import TinyDB db = TinyDB('db.json') db.insert({'type': 'apple', 'count': 7}) db.insert({'type': 'peach', 'count': 3})
ご覧のとおり、辞書データを処理せずにデータベースに直接挿入できます。バッチ挿入の方法は次のとおりです:
db.insert_multiple([ {'name': 'John', 'age': 22}, {'name': 'John', 'age': 37}]) db.insert_multiple({'int': 1, 'value': i} for i in range(2))
すべてのデータをクエリします:
from tinydb import TinyDB db = TinyDB('db.json') db.all() # [{'count': 7, 'type': 'apple'}, {'count': 3, 'type': 'peach'}]
.all() に加えて、for ループを使用してデータベースを走査することもできます:
from tinydb import TinyDB db = TinyDB('db.json') for item in db: print(item) # {'count': 7, 'type': 'apple'} # {'count': 3, 'type': 'peach'}
特定のデータを検索する必要がある場合は、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'}]
Update 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')
Delete data:
を使用することもできます。データを削除するための同様の条件文:
from tinydb import TinyDB db = TinyDB('db.json') db.remove(Fruit.count < 5) db.all() # [{'count': 10, 'type': 'apple'}]
データベース全体をクリアする:
from tinydb import TinyDB db = TinyDB('db.json') db.truncate() db.all() # []
データにアクセスするためのドット演算子に加えて、次のコマンドも使用できます。ネイティブの dict アクセス表現:
# 写法1 db.search(User.country-code == 'foo') # 写法2 db.search(User['country-code'] == 'foo')
これら 2 つの記述方法は同等です。
一般的なクエリ演算子 (==、、...) に加えて、TinyDB は where ステートメントもサポートしています:
from tinydb import where db.search(where('field') == 'value')
これは次と同等です:
db.search(Query()['field'] == 'value')
この構文は、ネストされたフィールドにもアクセスできます:
db.search(where('birthday').year == 1900) # 或者 db.search(where('birthday')['year'] == 1900)
任意のクエリ メソッド:
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'}]}]
単一の項目がリストに含まれているかどうかを確認します:
db.search(User.name.one_of(['jane', 'john']))
TinyDB は、および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'))
TinyDB の紹介はここで終了します。公式ドキュメントにアクセスして、その他の使用方法を確認することもできます:
https://www. php.cn/link/8ff3fdef6f5144f50eb2a83cd34baa5d
特に TinyDB に基づいてストレージの最適化を行いたい学生の場合は、ストレージとミドルウェアの章を詳しく読むことができます。
以上がTinyDB は、純粋に Python で書かれた軽量データベースです。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。