Pythonでデータベースを使う場合、PyMySQLなどのパッケージを用いてデータを抽出したりデータを挿入したりすることになる。 ここではPyMySQLよりもよりPythonっぽく扱えるパッケージであるSQLAlchemyを例に説明していく。
SQLAlchmyはMySQL以外のSQL系データベースを一元的に扱うことができるパッケージでデータをclassに関連付けられる。 ただMySQLの場合はPyMySQLなどの別のパッケージを仲介させる必要があることに注意する。
インストールは以下のコマンド
$ pip install sqlalchemy
まずはSQLAlchemyから接続に必要になるcreate_engineをインポートする。
from sqlalchemy import create_engine
次に接続先を設定する。
engine = create_engine("<DBの種類>+<仲介用ドライバー>://<ユーザー名>:<パスワード>@<接続先のアドレス>(:<接続先のポート>)/<DB名>?charset=<文字コード>")
SQLAlchmyはデータベースからデータをclassに関連付けて取り扱える。 そのためにその窓口となるclassを作って上げる必要がある。
from sqlalchemy.ext.declarative import declarative_base
(中略)
Base = declarative_base()
(中略)
class <class名(任意)>(Base):
__tablename__ = '<Table名>'
<Column名> = Column(<型、オプション等>)
(後略)