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()でテーブル内に追加された全てのデータを出力させることもできました。なお、今回登録・追加したデータには日本語の文字列もありましたが、文字化けせずに登録できました。
コメント