mysql-connector-pythonでローカルDBに接続する

mysql-connector-pythonでローカルDBに接続する

MySQLのデータベースを扱う際に、Pythonスクリプトから接続したくなったので、Pythonからの接続方法を紹介します。

mysql-connector-pythonのインストール

まずは、mysql-connector-pythonのインストールを行っていきます。

今回は、pipを使ってインストールしていきます。

$~ pip install mysql-connector-python

これでエラーが出ずに進めばインストールできているはずです。とりあえずこれで準備は完了。

まずはconnectorをインポート

まずは接続するためのメソッドをインポートしないと使えないので、インポートしましょう。

import mysql.connector

これで準備はOK!!

接続と切断

それではここまで完成できていれば、あとは接続の処理を書くだけです。

今回の例では、以下の情報を前提にしてみます。

userhostpassworddatabase
root127.0.0.1**********example

さて、早速接続の処理を書いてみましょう。

import mysql.connectorcnx = mysql.connecor.connect(
        user='root',
        host='127.0.0.1',
        password='**********',
        database='example',
    )

これだけで接続は完了です。(パスワード等が全て正しければ)

他の処理等も終わったら、しっかり切断しておきましょう。

    cnx.close()

これで接続と切断の処理は完了です。

また、hostが127.0.0.1であることは、他のポートとぶつかっているために人為的にローカルホストやポート番号を変えていなければ、デフォルトの位置になっているはずなので、以下でも実行可能です。

import mysql.connectorcnx = mysql.connecor.connect(
        user='root',
        host='127.0.0.1',
        password='**********',
        database='example',
    cnx = mysql.connecor.connect(
        user='root',
        password='**********',
        database='example',
    )

connectの引数の内容を辞書にまとめておく

先ほど、引数に入力した情報を辞書にまとめて接続することもできます。 以下のようなスクリプトになります。

import mysql.connector

    config = {
        user: 'root',
        host: '127.0.0.1',
        password: '**********',
        database: 'example',
    }
    cnx = mysql.connector.connect(**config)

    cnx.close()

configは辞書型なので、「**」でアンパックすることも忘れないようにしましょう。

まとめ

最終的にまとめると、流れはこんな感じです。

#辞書使わない

import mysql.connector

cnx = mysql.connecor.connect(
    user=<span class="strings">'root',
    host=<span class="strings">'127.0.0.1',
    password=<span class="strings">'**********',
    database=<span class="strings">'example',
)

cnx.close()

#辞書型

import mysql.connector

config = {
    user: <span class="strings">'root',
    host: <span class="strings">'127.0.0.1',
    password: <span class="strings">'**********',
    database: <span class="strings">'example',
}
cnx = mysql.connector.connect(**config)

cnx.close()

後ほど、テーブルを実際に作ったり、インサートしたりの方法を紹介しようと思います。

タメになったらSHARE!!!