[python] SQLAlchemy로 작성된 실제 예제를 알려주세요.

먼저, SQLAlchemy를 설치해야 합니다. 터미널에서 다음 명령을 실행하여 설치할 수 있습니다:

pip install sqlalchemy

이제 예제 코드를 작성해보겠습니다. 다음은 간단한 블로그 포스트를 나타내는 Post 모델을 정의하는 코드입니다:

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

# 데이터베이스 연결 설정
engine = create_engine('sqlite:///blog.db', echo=True)
Base = declarative_base()

# Post 모델 정의
class Post(Base):
    __tablename__ = 'posts'

    id = Column(Integer, primary_key=True)
    title = Column(String)
    content = Column(String)

    def __repr__(self):
        return f"<Post(title='{self.title}', content='{self.content}')>"

# 데이터베이스에 테이블 생성
Base.metadata.create_all(engine)

위의 코드에서는 create_engine 함수로 SQLite 데이터베이스 연결을 설정하고, Base 클래스로 모델을 선언합니다. Post 클래스는 Base 클래스를 상속받아 테이블에 매핑될 컬럼들을 정의합니다.

이제 데이터를 생성하고 조회하는 예제를 살펴보겠습니다:

from sqlalchemy.orm import sessionmaker

# 세션 생성
Session = sessionmaker(bind=engine)
session = Session()

# 포스트 생성
post1 = Post(title='첫 번째 포스트', content='안녕하세요! 첫 번째 포스트입니다.')
post2 = Post(title='두 번째 포스트', content='안녕하세요! 두 번째 포스트입니다.')

# 데이터베이스에 저장
session.add(post1)
session.add(post2)
session.commit()

# 모든 포스트 조회
posts = session.query(Post).all()
for post in posts:
    print(post)

# 특정 포스트 조회
post = session.query(Post).filter_by(title='첫 번째 포스트').first()
print(post)

# 세션 닫기
session.close()

위의 코드에서는 sessionmaker 함수를 사용하여 데이터베이스 세션을 생성하고, session 객체를 통해 데이터베이스 작업을 수행합니다. add 메서드로 포스트를 데이터베이스에 저장하고, commit 메서드로 작업을 확정합니다. query 메서드를 사용하여 데이터를 조회할 수 있으며, filter_by 메서드를 통해 특정 조건에 맞는 데이터를 조회할 수도 있습니다.

이상으로 SQLAlchemy를 사용하여 데이터베이스와 상호작용하는 간단한 예제를 살펴보았습니다. SQLAlchemy는 복잡한 데이터베이스 작업을 쉽게 처리할 수 있는 강력한 도구이며, 더 다양한 기능과 사용 방법을 알고 싶다면 SQLAlchemy 공식 문서를 참고하시기 바랍니다.

참고 문서: SQLAlchemy 공식 문서