Pythonでsinglestoredbを用いてデータベース内のテーブルにデータを登録する

スポンサーリンク

Pythonでsinglestoredbを用いてデータベース内のテーブルにデータを登録してみます。

この記事は「Pythonでsinglestoredbを用いてMySQLデータベース内にテーブルを作成する」という記事の続きとなります。

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

■Python

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

■SingleStoreで作成したデータベースとテーブルを確認する

singlestoredbを用いてデータベース内のテーブルにデータを登録する前に、データベースとテーブルを確認してみます。確認するために、SingleStore Customer Portal(https://portal.singlestore.com/)に、お持ちのアカウントでログインを行います。

ログインすると、左側のメニューの「CLOUD」から作成したワークスペースを選択すると、作成したデータベースを確認できます。さらにこの作成したデータベースを選択すると、テーブルを確認できます。さらにテーブルを選択すると、テーブル内に追加したカラムが表示され確認することができます。

■singlestoredbを用いてデータベース内のテーブルにデータを登録する

確認後、singlestoredbを用いてデータベース内のテーブルにデータを登録するスクリプトを書いていきます。

■コード

import singlestoredb as s2

conn = s2.connect(host='svc-******.aws-virginia-4.svc.singlestore.com', port='3306', user='admin',
                  password='ユーザー名(管理者)のパスワード', database='test_db')

with conn.cursor() as cur:
    query = """INSERT INTO person (id, name, address) VALUES (1, "田中", "大阪")"""
    cur.execute(query)

今回はsinglestoredbモジュールをimportで呼び出します。さらにsinglestoredbをs2として用います。

呼び出した後に、connという変数を定義し、その中でs2.connect()を用います。括弧内には、引数,パラメータとして「host=(接続ホスト名)」、「port=(データベースのポート)」、「user=(データベースのユーザー名)」、「password=(データベース ユーザーのパスワード)」、「database=(データベース名)」を渡します。

引数,パラメータを渡した後に、conn.cursor()でカーソルオブジェクトを作成し、データベースに対してクエリを実行させるようにします。また、with構文を用いてconn.cursor()をcurとして利用します。

conn.cursor()をcurとして利用できるようにした後は、queryという変数を定義し、その中に、execute()を用いて実行するMySQLクエリを格納します。今回のクエリは、INSERT文を用いて、作成したテーブルである「person」を指定し、データ(レコード)を登録します。登録するのは、id, name, addressのそれぞれのカラムに、「1, “田中”, “大阪”」というデータをそれぞれ登録します。

MySQLクエリを格納後は、cur.execute()を用います。括弧内には、引数,パラメータとしてquery変数を渡します。これで指定されたクエリが実行されます。

■実行・検証

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

実行すると、何も出力されませんが、SingleStoreのMySQLデータベース内のテーブルにデータが登録されました。登録後、SingleStore Customer Portalの左側のメニューから「QUERY」の「SQL Editor」を選択します。

選択すると、SQL Editorが起動します。起動後、上部のパンくずリストをクリックすると、プルダウンメニューが表示されますので、「Database」から「test_db」を選択します。

選択後、SELECT文を用いてテーブルのデータを出力してみます。出力すると、今回追加したデータが登録されていることが確認できました。なお、今回は日本語の文字列を指定していましたが、日本語であっても登録することができました。

 

コメント

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