SQLAlchemy는 Python에서 사용할 수 있는 강력한 ORM(Object-Relational Mapping) 도구로, 데이터베이스와의 연동을 쉽게 할 수 있습니다. SQLAlchemy를 사용하여 데이터베이스에 연결하고 쿼리를 실행하는 방법에 대해 알아보겠습니다.
1. SQLAlchemy 설치
먼저, SQLAlchemy를 설치해야 합니다. 아래 명령을 사용하여 SQLAlchemy를 설치할 수 있습니다.
pip install SQLAlchemy
2. 데이터베이스 연결 설정
SQLAlchemy를 사용하여 데이터베이스에 연결하기 위해서는 연결설정을 해야 합니다. 데이터베이스 종류에 따라 다른 드라이버가 필요할 수 있습니다. 예를 들어, MySQL 데이터베이스를 사용한다면, MySQL 드라이버를 설치해야 합니다.
from sqlalchemy import create_engine
# MySQL 데이터베이스에 연결
engine = create_engine('mysql+mysqlconnector://<username>:<password>@<host>/<database>')
위 코드에서 <username>
, <password>
, <host>
, <database>
는 해당하는 값으로 수정해주어야 합니다.
3. 테이블 정의
데이터베이스와 연결이 완료되면, SQLAlchemy는 테이블과 매핑되는 클래스를 정의할 수 있습니다. 이 클래스는 데이터베이스 테이블과 상호작용하는데 사용됩니다. 예를 들어, users
테이블을 정의하는 User 클래스를 만들어보겠습니다.
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String(50))
email = Column(String(100))
위 코드에서 User
클래스는 users
테이블과 매핑되고, id
, username
, email
등의 속성을 가지며, 각각 Integer와 String 타입으로 정의되었습니다.
4. 쿼리 실행
데이터베이스 연결과 테이블 정의가 완료되면, SQLAlchemy를 사용하여 쿼리를 실행할 수 있습니다. 예를 들어, 모든 사용자를 검색하는 쿼리를 실행하는 코드는 다음과 같습니다.
from sqlalchemy.orm import sessionmaker
# 세션 만들기
Session = sessionmaker(bind=engine)
session = Session()
# 사용자 검색 쿼리 실행
users = session.query(User).all()
# 결과 출력
for user in users:
print(f"ID: {user.id}, Username: {user.username}, Email: {user.email}")
위 코드에서 session
객체를 사용하여 쿼리를 실행하고, 결과를 users
변수에 저장한 후, 반복문을 통해 각 사용자의 정보를 출력하고 있습니다.
이와 같이 SQLAlchemy를 사용하여 Python에서 데이터베이스와의 연동을 쉽게 할 수 있습니다. SQLAlchemy에는 다양한 고급 기능도 제공되므로, 필요에 따라 추가적인 학습이 필요할 수 있습니다.
참고 자료
- SQLAlchemy 공식 문서: https://docs.sqlalchemy.org/
- SQLAlchemy Tutorial: https://www.sqlalchemy.org/tutorial/