[python] PyMySQL을 이용하여 데이터베이스의 테이블의 외래 키를 설정하는 방법을 알아본다.

이번 글에서는 PyMySQL 라이브러리를 이용하여 파이썬에서 데이터베이스의 테이블에 외래 키를 설정하는 방법을 알아보겠습니다.

1. PyMySQL 설치하기

먼저, PyMySQL 라이브러리를 설치해야 합니다. 다음과 같이 터미널에서 명령을 실행하여 설치할 수 있습니다.

pip install PyMySQL

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

PyMySQL을 사용하기 위해서는 먼저 데이터베이스에 연결해야 합니다. connect() 함수를 사용하여 연결을 생성할 수 있습니다.

import pymysql

# 데이터베이스 연결
conn = pymysql.connect(host='localhost', user='username', password='password', database='dbname')

위 코드에서 host, user, password, database는 각각 데이터베이스의 호스트, 사용자 이름, 비밀번호, 데이터베이스 이름에 해당합니다.

3. 테이블 생성하기

이제 외래 키를 설정할 테이블을 생성해야 합니다. 다음과 같이 execute() 함수를 사용하여 SQL 쿼리를 실행하여 테이블을 생성할 수 있습니다.

# 테이블 생성
query = '''
CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
)
'''
cursor = conn.cursor()
cursor.execute(query)

위 코드에서 Orders 테이블은 customer_id 칼럼을 외래 키로 사용하며, 이 칼럼은 Customers 테이블의 customer_id 칼럼을 참조합니다.

4. 외래 키 제약 조건 설정하기

외래 키 제약 조건을 설정하여 데이터의 일관성을 유지할 수 있습니다. ALTER TABLE 문을 사용하여 외래 키 제약 조건을 설정할 수 있습니다.

# 외래 키 제약 조건 설정
query = '''
ALTER TABLE Orders
ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
'''
cursor = conn.cursor()
cursor.execute(query)

위 코드에서 fk_customer는 외래 키 제약 조건의 이름이며, Customers 테이블의 customer_id 칼럼과 Orders 테이블의 customer_id 칼럼을 참조합니다.

5. 연결 종료하기

모든 작업이 완료되면 데이터베이스 연결을 종료해야 합니다. close() 메서드를 사용하여 연결을 종료할 수 있습니다.

# 연결 종료
conn.close()

위 코드에서 conn은 데이터베이스 연결 객체입니다.

마무리

이번 글에서는 PyMySQL을 사용하여 데이터베이스의 테이블에 외래 키를 설정하는 방법을 알아보았습니다. 데이터베이스 연결, 테이블 생성, 외래 키 제약 조건 설정 등을 통해 데이터베이스의 일관성을 유지하는데 도움이 되는 외래 키를 사용할 수 있습니다.

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