SQLAlchemyのありがたみをなんとなくイメージする。
クラス: engine, session, model など
関数: crud, func など
engine
engineクラスは、操作するDBを指定する。DBを操作する時の引数として使う。
from sqlalchemy import create_engine
DB_URL=f"sqlite+aiosqlite:///{DB_PATH}"
engine = create_engine(DB_URL)
session
sessionクラスは、トランスアクション機能(DBを変更して、保存する。)など。
from sqlalchemy.orm import sessionmaker
session = sessionmaker(engine)
session.get(TABLE_ NAME)
session.commit()
basemodel
basemodelクラスは、クラスをDBのテーブルとして扱えるようにする。
from sqlalchemy.orm import declarative_base
class User(Base):
__tablename__="users"
id = Colum(Integer)
name = Colum(String)
CRUD関数
CRUD関数は、DBの基本処理ができる。
user = User(id=1, name=Taro)
Create: session.add(user)
Read: session.get(User, 1)
Update: user.name("Jiro")
Delete: session.delete(User, 1)
session.commit()
func関数
func関数は、SQLの集計関数を使える。
func.count(User.id)
func.max(User.id)
func.avg(User.id)
参考文献
・SQLAlchemy 入門 — 仕組みを体系的に理解する
https://zenn.dev/yuki_fujisawa/articles/b5f141f754a9cf
・chatGPT