PostgreSQL Python:BLOBデータの処理

概要:このチュートリアルでは、PythonでPostgreSQL BLOBデータを処理する方法を学びます。

標準SQLでは、データベースにバイナリデータを格納するためのバイナリラージオブジェクトとしてBLOBが定義されています。 BLOBデータ型を使用すると、画像、文書などのコンテンツを保存できます。 テーブルに。

PostgreSQLはBLOBをサポートしていませんが、バイナリデータを格納するためにBYTEAデータ型を使用できます。

part_drawingsの表を見てみましょう。

part_drawingsテーブルには、部品の画像がdrawing_data列に格納されます。 この列にバイナリデータを挿入して読み戻す方法を説明します。

テーブルへのBLOBの挿入

BLOBデータをテーブルに挿入するには、次の手順を使用します:

  1. まず、ファイルからデータを読み込みます。
  2. 次に、connect()関数から新しいconnectionオブジェクトを作成してPostgreSQLデータベースに接続します。
  3. 次に、connectionオブジェクトからcursorオブジェクトを作成します。
  4. その後、入力値を指定してINSERTステートメントを実行します。 BLOBデータの場合は、psycopgモジュール
  5. Binaryオブジェクトを使用し、最後に、connectionオブジェクトのcommit()メソッドを呼び出してPostgreSQLデータベースに変更を永続的にコミットします。

次のwrite_blob()関数は、path_to_fileパラメータで指定されたファイルからバイナリデータを読み取り、それをpart_drawingsテーブルに挿入します。

次のスニペットは、write_blob ()関数を2回呼び出して、ピクチャファイルの対応するバイナリデータを含む2つの新しい部分をpart_drawingsテーブルに挿入します。

Code language: Python (python)

テーブル内のBLOBの読み取り

テーブルからBLOBを読み取る手順は、テーブルからデータを照会する手順と似ています。 テーブルからバイナリデータをフェッチした後、ファイルに保存したり、webブラウザに出力したりすることができます。

次のread_blob()関数は、指定されたパーツidに基づいてpart_drawingsテーブルからBLOBデータを選択し、BLOBデータをファイルに保存します。

次のスニペットは、id値1と2の部分のバイナリデータを読み取り、バイナリデータをimages/blobフォルダに保存します。

このチュートリアルでは、psycopgデータベースアダプタを使用してPythonでPostgreSQL BLOBデータを処理する方法を学習しました。

  • このチュートリアルは役に立ちましたか?
  • はい

コメントを残す

メールアドレスが公開されることはありません。