PythonでZODBを用いてデータベース内に保存したデータを取得する

スポンサーリンク

PythonでZODBを用いてデータベース内に保存したデータを取得してみます。

この記事は「PythonでZODBを用いて作成したデータベース内にオブジェクトの保存する」という記事の続きとなります。

今回は、ZODBを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■ZODBを用いてデータベース内に保存したデータを取得する

前回、ZODBを用いて作成したデータベース内にデータを保存しましたので、今度はデータベース内に保存したデータを取得し出力するスクリプトを書いていきます。

■コード

from ZODB import FileStorage, DB

storage = FileStorage.FileStorage('my_db.fs')
db = DB(storage)
connection = db.open()
root = connection.root()
print(root.items())
connection.close()

まずは「from import」でZODBモジュールのFileStorageとDBを呼び出します。その後、storageという変数を定義し、その中でFileStorage.FileStorage()を用います。括弧内には引数,パラメータとしてデータを保存したストレージを指定するために、今回は「my_db.fs」という名前のストレージを渡します。

その後、dbという変数を定義し、その中でDB()を用います。括弧内には引数,パラメータとしてストレージを渡します。今回はstorage変数を渡します。

渡した後に、connectionという変数を定義し、その中でdb変数に対してopen()を用いて、作成したデータベースを開き、接続します。開いた後にrootという変数を定義し、その中でconnection変数に対してroot()を用います。これでデータベース内の「root」にアクセスできるようになりました。

アクセスが可能になりましたので、root変数に対して、items()を用います。これでオブジェクトが返されます。返されたオブジェクトをprint()で出力します。

出力後、connection.close()を用いて、作成したデータベースとの接続を閉じます。

■実行・検証

このスクリプトを「db_get_data.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、「PythonでZODBを用いて作成したデータベース内にオブジェクトの保存する」でデータベース内に保存したオブジェクトを出力させることができました。

コメント

タイトルとURLをコピーしました