[python] SQLAlchemy의 데이터베이스 동적 조회 방법

SQLAlchemy는 파이썬에서 사용하는 인기 있는 ORM(Object Relational Mapping) 라이브러리입니다. SQLAlchemy를 사용하면 데이터베이스 쿼리와 상호 작용하기 위해 SQL 쿼리를 작성할 필요 없이 Python 코드로 데이터베이스를 쉽게 다룰 수 있습니다.

이번 글에서는 SQLAlchemy를 사용하여 데이터베이스에서 동적으로 조회하는 방법을 알아보겠습니다. 동적 조회는 사용자로부터 입력을 받아 데이터베이스에서 해당 조건을 가지는 데이터를 조회하는 것을 의미합니다.

1. SQLAlchemy 설치

먼저 SQLAlchemy를 설치해야 합니다. 다음 명령을 통해 설치할 수 있습니다:

pip install SQLAlchemy

2. 데이터베이스 연결 설정

SQLAlchemy를 사용하기 위해 데이터베이스에 연결해야 합니다.

from sqlalchemy import create_engine

# MySQL 데이터베이스 연결 설정
engine = create_engine('mysql://username:password@hostname/database')

위 코드에서 username, password, hostname, database는 각각 데이터베이스 서버의 계정 정보와 호스트, 데이터베이스 이름으로 바꿔주어야 합니다.

3. 동적 조회

동적 조회를 위해서는 SQLAlchemy의 Session 클래스와 query 메서드를 사용합니다. 다음은 동적으로 데이터베이스에서 users 테이블을 조회하는 예제입니다.

from sqlalchemy.orm import Session

# Session 생성
session = Session(engine)

# 사용자로부터 입력을 받아 동적으로 조회할 조건 생성
username = input("조회할 사용자 이름 입력: ")

# 데이터베이스 조회
result = session.query(User).filter(User.username == username).all()

# 결과 출력
for user in result:
    print(user.username, user.email)

위 코드에서 User는 SQLAlchemy의 모델 클래스로, usernameemailUser 모델의 속성입니다. 입력받은 사용자 이름과 일치하는 데이터를 조회하여 결과를 출력하는 간단한 예제입니다.

이렇게 SQLAlchemy를 사용하여 데이터베이스에서 동적으로 조회할 수 있습니다. SQLAlchemy는 파이썬에서 데이터베이스 상호 작용을 간편하게 해주는 강력한 도구입니다.

참고 자료