読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

psycopg2でデータをINSERTする

前回に引き続き、psycopg2でデータをINSERTする方法です。

実際のところ

imageというbytea型のbyte_dataカラムを持っているテーブルに対し、バイナリデータを叩き込む方法は以下の通り。

import psycopg2

DSN = "dbname=postgres user=shuzo_kino"
SQL3 = "INSERT INTO image(byte_data)\
        VALUES (%(imagedata)s);"

with psycopg2.connect(DSN) as conn:
    with conn.cursor() as curs:
      postquery = {'imagedata': b'\xde\xad\xbe\xef'}
      curs.execute(SQL3, postquery)

bytearray型で叩きつける事もできます。

      postquery = {'imagedata': bytearray.fromhex("12deadbeef12ab41")}
      curs.execute(SQL3, postquery)