インタプリタされた高レベルの汎用プログラミング言語であるPythonは、過去数年にわたって人気が高まっています。 1991年に最初にリリースされたPythonは、現在3番目のメジャーバージョンになっています。
開発者は、その高レベルの読みやすさや、複雑なタスクを比較的簡単に完了できる多数の機能など、さまざまな理由でこの言語に親しみを持っています。 2019年のStackOverflowDeveloper Surveyによると、Pythonは最も人気のあるプログラミング言語のトップ5に入っており、開発者の間で(Rustに次いで)2番目に愛されている言語です。
コネクタ/Pythonの紹介
MariaDBは、MariaDB Connector/Pythonベータ版がすぐに利用可能になったことをお知らせします。 Connector / Pythonを使用すると、PythonプログラムはPython DB API 2.0(PEP-249)に準拠したAPIを使用してMariaDBデータベースにアクセスできます。パフォーマンスを最適化するために、新しいコネクタはCで記述されており、MariaDBコネクタ/Cクライアントライブラリを利用してクライアント/サーバー通信を行います。
なぜ新しいクライアントなのか? MariaDBとの通信に使用できる既存のクライアントがありますが、MariaDB Pythonコネクタを作成する動機は、MySQLが提供するものを超えるすべてのMariaDB機能をサポートする軽量で非常に高速なクライアントを提供することです。
はじめに
Connector / Pythonの使用を開始するには、次の前提条件を満たしている必要があります。
- Python 3をインストールします(サポートされる最小バージョンは3.6です)
- MariaDB10.xインスタンスにアクセスする
- MariaDB Connector/Cバージョン3.1.5以降をインストールします
前提条件を満たしたら、次を使用してコネクタをインストールする準備が整います。
$ pip3 install --pre mariadb
Connector / Pythonをインストールすると、Pythonコード内で使用できるようになります。選択した場所に「example.py」という新しいPythonファイルを作成することから始めます。
ファイルを開き、最初の行に以下を追加して、コネクタを使用できるようにします。
import mariadb
接続するMariaDBデータベースインスタンスの構成値を追加します。
config = {
'host': 'localhost',
'user': 'root',
'password': 'secret',
}
その構成を使用して、mariadb.connectを使用してMariaDBに接続できます。 :
conn = mariadb.connect(**config)
クエリを実行するには、接続に基づいたカーソルが必要です:
cur = conn.cursor()
使い終わったら接続を閉じることができます:
conn.close()
すべてをまとめるために、次のスクリプトはローカルデータベースに接続し、いくつかのクエリを実行します。クエリの詳細については、ドキュメントをご覧ください。
import sys
import mariadb
config = {
'host': 'localhost',
'user': 'root',
'password': 'secret',
}
try:
conn = mariadb.connect(**config, database='test')
except mariadb.Error as err:
print(err, file=sys.stderr)
sys.exit(1)
cur = conn.cursor()
cur.execute("SHOW TABLES")
for (tbl,) in cur.fetchall(): # pre-fetch all data to free up the cursor
print("\n===", tbl, "===\n")
cur.execute(f"SELECT * FROM `{tbl}`")
print([x[0] for x in cur.description]) # print field names (as a list)
for row in cur: # using an iterator minimizes the memory used
print(row) # print every row in this table (each as a tuple)
cur.execute("INSERT INTO sample VALUES (?, ?, ?)",
(1, "A 'string' with single quotes.", '2020-01-01'))
conn.close()
変更を保存し、ターミナルウィンドウを開き、「example.py」の場所に移動して、次のコマンドを実行します。
$ python3 example.py
次は何ですか
このリリースのMariaDBConnector/ Pythonはベータ版であるため、本番環境で使用することはお勧めしません。
Connector / Pythonは活発に開発されており、まもなくアップデートがリリースされる予定ですので、ご期待ください。質問がある場合、問題が発生した場合、またはConnector / Pythonの開発に貢献したい場合は、GitHubでソースコードを見つけることができます。 MariaDB Connector / Pythonのドキュメントは、MariaDBEnterpriseDocumentationで入手できます。