pythonでpsycopg2を用いてyugabytedbデータベース内のテーブルにデータを登録・追加する

pythonでpsycopg2を用いてyugabytedbデータベース内のテーブルにデータを登録・追加してみます。

この記事は「pythonでpsycopg2を用いてyugabytedbのデータベース内にテーブルを作成する」という記事の続きです。

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

■Python

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

■psycopg2を用いてyugabytedbデータベース内のテーブルにデータを登録・追加する

では、早速psycopg2を用いてyugabytedbデータベース内のテーブルにデータを登録・追加するスクリプトを書いていきます。

■コード

import psycopg2

conn = psycopg2.connect(dbname='データベース名',host='ホスト名',port='5433',user='データベースのユーザー名(初期設定の場合はadmin)',password='Cluster作成時にCREDENTIALSとして発行されたpassword',sslmode="verify-full",sslrootcert=r"「root.crt」が置かれている場所")
cur = conn.cursor()

cur.execute(
  """
  INSERT INTO test_1 (id,name,age,language) VALUES(%s,%s,%s,%s)""",(1,'田中',29,'日本語')
  )
print("テーブル内にデータを登録しました")

cur.execute('SELECT * FROM test_1')

print(cur.fetchall())

conn.commit()
cur.close()
conn.close()

今回は、前回yugabytedbデータベース内に「test_1」というテーブルを作成し、テーブル内に「id,name,age,language」という4つの行を設けていますので、1つ1つにデータを登録・追加していきます。今回は「1,’田中’,29,’日本語’」というデータを登録・追加します。

登録・追加が完了した後に、test_1のテーブル内に追加した全てのデータを検索するために「SELECT * FROM test_1」というSELECT文を用います。その後、cur.fetchall()を用います。これでテーブル内のデータを全件取得し、返された情報をprint()で出力します。

最後にconn.commit()を用いてテーブルのデータを更新し、データベースへの変更をコミットし、close()を用いてデータベース等の接続を閉じます。

■実行・検証

このスクリプトを、前回作成した「yugabyte-test」ディレクトリ内に「data_in_db1.py」というスクリプトファイル名で保存し、コマンドプロンプトから仮想環境に入り、スクリプトファイルを実行してみます。

実行してみると、「テーブル内にデータを登録しました」と出力されました。出力後、print()でテーブル内に追加された全てのデータを出力させることもできました。なお、今回登録・追加したデータには日本語の文字列もありましたが、文字化けせずに登録できました。

コメント

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