SQLAlchemyにおけるデータベース操作の多様な方法


  1. データベースに接続する方法:

    from sqlalchemy import create_engine
    # SQLiteデータベースに接続する例
    engine = create_engine('sqlite:///database.db')
  2. テーブルを作成する方法:

    from sqlalchemy import Column, Integer, String, ForeignKey
    from sqlalchemy.orm import relationship
    from sqlalchemy.ext.declarative import declarative_base
    Base = declarative_base()
    class User(Base):
       __tablename__ = 'users'
       id = Column(Integer, primary_key=True)
       name = Column(String)
       posts = relationship("Post", back_populates="author")
    class Post(Base):
       __tablename__ = 'posts'
       id = Column(Integer, primary_key=True)
       title = Column(String)
       author_id = Column(Integer, ForeignKey('users.id'))
       author = relationship("User", back_populates="posts")
  3. データを挿入する方法:

    from sqlalchemy.orm import sessionmaker
    Session = sessionmaker(bind=engine)
    session = Session()
    new_user = User(name='John Doe')
    session.add(new_user)
    session.commit()
  4. データを取得する方法:

    # 全てのユーザーを取得する例
    users = session.query(User).all()
    # 特定の条件を満たすユーザーを取得する例
    users = session.query(User).filter(User.name == 'John Doe').all()
  5. データを更新する方法:

    # 特定のユーザーの名前を変更する例
    user = session.query(User).filter(User.id == 1).first()
    user.name = 'Jane Smith'
    session.commit()

これらは一部の基本的な操作の例ですが、SQLAlchemyにはさらに多くの機能があります。公式のドキュメントやチュートリアルを参照することで、さまざまなデータベース操作を行う方法を学ぶことができます。