I am Charmie

メモとログ

SQLAlchemy: テーブルのデータを検索したり

sqlalchemyでDB中のテーブルのデータを検索したり数を数えたりする方法.

  • RDBの使い方的に正しいか謎
  • テーブルのカラムのデータが,別テーブルのデータのidのどれかと一致するか調べたかった
  • filter()を使って,filter(tableA.tableB_id in tableB.id)みたいなことをやりたかったけどダメだった
  • これとかこれを参考にした.
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine('')
my_session = sessionmaker(bind=engine)
session = my_session()

# TableAの全データを取得
all_rows_of_TableA = session.query(TableA).all()
# TableAの全データの数を取得
number_of_rows_of_TableA = session.query(TableA).count()
# TableAの全データのIDを取得
list_of_all_rows_of_TableA = session.query(TableA.id).all()
# TableAの全データのID(重複なし)を取得
unique_list_of_all_rows_of_TableA = session.query(TableA.id).distinct().all()