SQLAlchemyを使用してデータベースからデータを取得するための基本的なSELECTクエリ

2024年6月18日

SQLAlchemyを使用してデータベースからデータを取得するための基本的なSELECTクエリを以下に示します。この例では、Userモデルを使用していますが、実際のモデルに合わせてコードを変更してください。

python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

# データベースに接続
engine = create_engine('sqlite:///example.db')
Base = declarative_base()

# SQLAlchemyモデルの定義
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)

# データベースからデータを取得するためのセッションを作成
Session = sessionmaker(bind=engine)
session = Session()

# SELECTクエリの例:すべてのユーザーを取得
all_users = session.query(User).all()
for user in all_users:
    print(f"User ID: {user.id}, Name: {user.name}")

# 特定の条件を満たすユーザーを取得する例:名前が'John'のユーザーを取得
john_users = session.query(User).filter_by(name='John').all()
for user in john_users:
    print(f"User ID: {user.id}, Name: {user.name}")

上記のコードでは、session.query(User) を使用してUserモデルに対するクエリを開始し、その後にall()メソッドを使用して結果をリストとして取得しています。また、filter_by()メソッドを使用して特定の条件でフィルタリングしています。これはSQLAlchemyのORMを使用する一般的なパターンです。

未分類

Posted by ぼっち