[python] SQLAlchemy에서 데이터베이스 테이블 생성하기

SQLAlchemy는 파이썬에서 사용할 수 있는 강력한 ORM(Object-Relational Mapping) 라이브러리입니다. 이를 사용하면 쉽게 데이터베이스와 상호작용할 수 있으며, 데이터베이스 테이블을 생성하고 관리할 수 있습니다.

이번 포스트에서는 SQLAlchemy를 사용하여 데이터베이스 테이블을 생성하는 방법에 대해 알아보겠습니다.

1. SQLAlchemy 설치하기

SQLAlchemy를 사용하기 위해서는 먼저 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install SQLAlchemy

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

SQLAlchemy를 사용하여 데이터베이스와 연결하기 위해서는 create_engine() 함수를 사용해야 합니다. 이 함수를 사용하여 데이터베이스에 접속하기 위한 설정을 지정할 수 있습니다.

아래는 MySQL 데이터베이스에 접속하기 위한 예시입니다.

from sqlalchemy import create_engine

# 데이터베이스 연결 설정
engine = create_engine('mysql+mysqlconnector://username:password@localhost/mydatabase')

위 예시에서 username, password, localhost, mydatabase는 각각 사용자 이름, 비밀번호, 호스트 주소, 데이터베이스 이름으로 변경해야 합니다.

3. 데이터베이스 테이블 생성하기

SQLAlchemy를 사용하여 데이터베이스 테이블을 생성하려면 다음과 같은 세 단계를 거쳐야 합니다.

3.1. 테이블 정의하기

먼저 데이터베이스에 생성할 테이블의 구조를 정의해야 합니다. SQLAlchemy에서는 이를 위해 Table 클래스를 사용합니다.

from sqlalchemy import Table, Column, Integer, String, MetaData

metadata = MetaData()

users = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('username', String(50)),
    Column('email', String(50))
)

위 예시에서 users라는 테이블을 생성하였으며, id, username, email이라는 세 개의 컬럼으로 구성되어 있습니다.

3.2. 테이블 생성하기

테이블을 생성하려면 앞서 정의한 테이블 구조를 데이터베이스에 실제로 적용해야 합니다. 이를 위해 create_all() 메서드를 사용합니다.

metadata.create_all(engine)

위의 코드를 실행하면 SQLAlchemy는 데이터베이스에 users 테이블을 생성합니다.

3.3. 테이블 확인하기

테이블이 성공적으로 생성되었는지 확인하려면 데이터베이스에 접속하여 테이블을 조회해야 합니다. 이를 위해 SQL 쿼리를 사용하는 방법이 있지만, SQLAlchemy를 사용하면 좀 더 간단하게 확인할 수 있습니다.

print(engine.table_names())

위의 코드를 실행하여 데이터베이스에 생성된 테이블의 목록을 확인할 수 있습니다.

결론

이번 포스트에서는 SQLAlchemy를 사용하여 데이터베이스 테이블을 생성하는 방법에 대해 알아보았습니다. SQLAlchemy를 사용하면 파이썬으로 간편하게 데이터베이스와 상호작용할 수 있으며, 테이블을 생성하고 관리할 수 있습니다.

더 자세한 내용은 SQLAlchemy의 공식 문서를 참고하시기 바랍니다.