[파이썬] SQLAlchemy 설치 방법

SQLAlchemy는 Python에서 사용되는 강력한 ORM(Object-Relational Mapping) 라이브러리입니다. 이 라이브러리를 사용하면 Python 코드에서 SQL 쿼리를 작성할 필요없이 객체 지향적인 방식으로 데이터베이스를 조작할 수 있습니다. 이번 글에서는 SQLAlchemy를 설치하는 방법에 대해 알아보겠습니다.

1. 가상환경 설정

SQLAlchemy를 설치하려면 먼저 가상환경(virtual environment)을 설정해야 합니다. 가상환경을 사용하는 것은 권장되는 방법으로, 패키지 충돌을 방지하고 프로젝트 별로 의존성을 분리하는 데 도움이 됩니다.

아래의 Terminal 명령어를 사용하여 새로운 가상환경을 생성합니다.

`bash $ python -m venv myenv \`

가상환경을 활성화하려면 다음 명령어를 실행합니다.

For Windows: `bash $ myenv\Scripts\activate \`

For Linux/Mac: `bash $ source myenv/bin/activate \`

2. SQLAlchemy 설치

SQLAlchemy를 설치하려면 pip를 사용합니다. 가상환경을 활성화한 상태에서 다음 명령어를 실행하면 됩니다.

`bash $ pip install sqlalchemy \`

3. SQLAlchemy 사용

이제 SQLAlchemy를 사용하여 Python 코드에서 데이터베이스를 조작할 수 있습니다. 아래는 간단한 예시 코드입니다.

먼저, sqlalchemy 모듈을 가져옵니다.

`python import sqlalchemy \`

다음으로, 데이터베이스에 연결하기 위해 엔진(engine)을 생성합니다.

```python from sqlalchemy import create_engine

engine = create_engine(‘sqlite:///mydatabase.db’, echo=True) ```

위의 코드에서 ‘sqlite:///mydatabase.db’는 SQLite 데이터베이스에 연결하기 위한 URL입니다. 데이터베이스 종류에 따라 URL을 수정해야 할 수 있습니다.

이제 영구적인 데이터베이스 연결이 설정되었습니다. SQLAlchemy를 사용하여 데이터베이스를 쿼리하거나 조작할 수 있습니다.

```python 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)
name = Column(String)
age = Column(Integer)

def __repr__(self):
    return f"<User(name='{self.name}', age={self.age})>"

테이블 생성 SQL을 실행합니다.

Base.metadata.create_all(bind=engine)

새로운 사용자 생성

user = User(name=’John Doe’, age=25)

데이터베이스에 새로운 사용자 추가

with engine.begin() as connection: connection.add(user) connection.commit()

사용자 조회

with engine.begin() as connection: users = connection.execute(“SELECT * FROM users”).fetchall() for user in users: print(user) ```

위의 코드는 SQLAlchemy를 사용하여 users 테이블을 생성하고, 데이터베이스에 새로운 사용자를 추가하고, 사용자들을 조회하는 예시입니다.

SQLAlchemy는 더 복잡한 데이터베이스 조작을 위한 다양한 기능을 제공합니다. SQLAlchemy 공식 문서를 참조하여 더 많은 정보를 얻을 수 있습니다.

이제 SQLAlchemy를 설치하고 사용하는 방법에 대해 알아보았습니다. 해당 라이브러리는 강력하고 편리한 기능을 제공하므로 데이터베이스 조작에 사용해보시기 바랍니다.