sql >> データベース >  >> RDS >> MariaDB

MariaDBコネクタ/Pythonベータ版が利用可能になりました

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


    1. mysqlでunionとorderby句を使用する

    2. Oracleでのインデックスの使用を強制する

    3. PostgreSQL数学関数

    4. utf8とlatin1の違い