이번 글에서는 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 공식 문서를 참고하시기 바랍니다.