インタプリタされた高レベルの汎用プログラミング言語である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で入手できます。