Pythonでsinglestoredbを用いてMySQLデータベース内にテーブルを作成する

スポンサーリンク

Pythonでsinglestoredbを用いてMySQLデータベース内にテーブルを作成してみます。

この記事は「SingleStoreでワークスペース内にMySQLデータベースを作成する」という記事の続きとなります。

前回、SingleStoreでtest-01というワークスペース内に「test_db」というデータベースを作成しました。そして今回、singlestoredbを用いてMySQLデータベース内にテーブルを作成してみます。

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

■Python

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

■singlestoredbを用いてMySQLデータベース内にテーブルを作成する

では、早速singlestoredbを用いてMySQLデータベース内にテーブルを作成するスクリプトを書いていきます。

■コード

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:
     cur.execute("create table person (id integer, name text, address text)")

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

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

接続するための情報については、作成したワークスペースに「Connect」が表示されており、こちらをクリックすると、プルダウンメニューが表示され「Connect Directly」をクリックします。

クリックすると、「Connect to Workspace ‘(作成したワークスペースの名前’」というポップアップが表示され、接続を行うための方法や情報が表示されますので、こちらを参考にします。

またデータベースのユーザー名やパスワードの確認は、SingleStore Customer Portalの「CLOUD」の作成したワークスペースの「Access」をクリックすると、確認することができます。

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

conn.cursor()をcurとして利用できるようにした後は、execute()を用います。これでMySQLクエリを引数,パラメータとして受け取り、指定されたクエリを実行します。今回のクエリは、CREATE TABLE文を用いて「person」というテーブルを作成します。テーブル内には、カラムとして「id」、「name」、「address」を作成します。これでconn.cursor()を用いて、指定されたクエリが実行され、テーブルが作成されます。

■実行・検証

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

実行すると、何も出力されませんが、SingleStoreのMySQLデータベース内にテーブルが作成されました。

作成後、SingleStore Customer Portalの「CLOUD」から「Databases」を選択し、さらに作成したデータベースを選択します。選択すると、今回作成したテーブルである「person」が表示され、こちらをクリックすると、テーブル内の作成したカラムが表示されることを確認できました。

コメント

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