SQLAlchemyのCRUD
SQLAlchemyの使用例.
インストール
pip
からのインストールは次のようにして行う.
pip install SQLAlchemy |
エンジン
接続情報を与える.
次はPostgreSQLに5432ポートで接続する情報の記述例.
from sqlalchemy import create_engine |
セッション
エンジンからセッションを作成する.
with
でセッションを使っている間にエラーが生じなければコミット,生じたらロールバックするつもりで予め準備しておく.
from sqlalchemy.orm import sessionmaker |
テーブル
データベース処理用のクラスを作って,それを継承する.
ここではBooks
というクラスを作り,データベースのbooks
というテーブルにアクセスするようにした.
テーブル内の列はColumn
で定義する.
from sqlalchemy.orm import declarative_base |
ここで主キー制約を与えるのにprimary_key
を使用した.
非Null制約にはnullable
,一意制約にはunique
を使う.
追加(SQLのINSERT)
追加したいレコードのインスタンスを作る.
book = Books() |
データベースに接続してadd
する.
with Session() as session: |
抽出(SQLのSELECT)
レコードの選択をquery
で行い,絞り込んだ上でall
等により抽出する.
ここで,filter
はSQLのWHERE
句に相当する.
セッション.query(取り出したいもの).filter(絞り込み条件).all() |
次の例では,1000円以上の書籍の品番と名前を抽出する.
with Session() as session: |
更新(SQLのUPDATE)
data
に格納したレコードの更新は次のように行う.
次の例では,抽出したレコードについてflag
列をTrue
に更新する.
with Session() as session: |
削除(SQLのDELETE)
delete
で削除が実行できる.
with Session() as session: |