Pythonでのデータベース操作
On this page
SQLAlchmyについて
SQLAlchmyはMySQL以外のSQL系データベースを一元的に扱うことができるパッケージでデータをclassに関連付けられる。 ただMySQLの場合はPyMySQLなどの別のパッケージを仲介させる必要があることに注意する。
インストールは以下のコマンド
$ pip install sqlalchemy
データベース(DB)への接続
まずはSQLAlchemyから接続に必要になるcreate_engineをインポートする。
from sqlalchemy import create_engine
次に接続先を設定する。
engine = create_engine("<DBの種類>+<仲介用ドライバー>://<ユーザー名>:<パスワード>@<接続先のアドレス>(:<接続先のポート>)/<DB名>?charset=<文字コード>")
- DBの種類: 接続するDBの種類(mysqlとかpsqliteとか..)
- 仲介用ドライバー: DBに接続するためのドライバーの指定 (MySQLならpymysql等を指定すること)
- ユーザー名: DBに接続できるDBのユーザ名
- パスワード: 上記のユーザーのパスワード
- 接続先のアドレス: 接続先のサーバーのIPか名前解決できるhost名(自PCならlocalhost)
- 接続先のポート: 上記のサーバーへ接続する際のPort(default:3306)
- DB名: 接続したいDBの名前
- 文字コード: DBを作った際に指定した文字コード(utf-8が無難)
データベースの窓口構築
SQLAlchmyはデータベースからデータをclassに関連付けて取り扱える。 そのためにその窓口となるclassを作って上げる必要がある。
from sqlalchemy.ext.declarative import declarative_base
(中略)
Base = declarative_base()
(中略)
class <class名(任意)>(Base):
__tablename__ = '<Table名>'
<Column名> = Column(<型、オプション等>)
(後略)