PyMySQL은 Python에서 MySQL 데이터베이스에 접속하고 작업하기 위한 모듈입니다. 이 글에서는 PyMySQL을 사용하여 데이터베이스의 테이블 제약 조건을 설정하는 방법에 대해 알아보겠습니다.
PyMySQL 설치
먼저 PyMySQL을 설치해야 합니다. 다음 명령을 사용하여 PyMySQL을 설치할 수 있습니다.
pip install PyMySQL
데이터베이스 연결
PyMySQL을 사용하기 위해서는 데이터베이스에 접속해야 합니다. 다음은 데이터베이스에 접속하는 예제 코드입니다.
import pymysql
conn = pymysql.connect(
host='localhost',
user='username',
password='password',
database='database_name'
)
위 코드에서 host
, user
, password
, database
는 해당하는 데이터베이스에 맞게 설정해주어야 합니다.
제약 조건 추가
PyMySQL을 사용하여 제약 조건을 추가하려면 쿼리 문을 실행해야 합니다. 다음은 employees
라는 테이블에 salary
컬럼에 대한 제약 조건을 추가하는 예제입니다.
query = "ALTER TABLE employees ADD CONSTRAINT chk_salary CHECK (salary > 0)"
with conn.cursor() as cursor:
cursor.execute(query)
conn.commit()
위 코드에서 ALTER TABLE
문을 사용하여 제약 조건을 추가하고, CHECK
를 사용하여 salary
컬럼의 값이 0보다 큰지 확인합니다. conn.cursor()
메서드를 사용하여 커서를 생성하고, execute
메서드로 쿼리를 실행한 뒤, conn.commit()
을 호출하여 변경사항을 커밋합니다.
기타 제약 조건 설정
PyMySQL을 사용하여 다른 유형의 제약 조건을 설정하는 방법은 다음과 같습니다.
-
Primary Key 제약 조건 추가하기:
query = "ALTER TABLE employees ADD CONSTRAINT pk_employee_id PRIMARY KEY (employee_id)"
-
Foreign Key 제약 조건 추가하기:
query = "ALTER TABLE orders ADD CONSTRAINT fk_customer_id FOREIGN KEY (customer_id) REFERENCES customers(id)"
-
Unique 제약 조건 추가하기:
query = "ALTER TABLE employees ADD CONSTRAINT uniq_employee_name UNIQUE (employee_name)"
위 코드에서 employee_id
, customer_id
, employee_name
은 해당 테이블의 컬럼 이름에 맞게 수정해주어야 합니다.
마무리
이제 PyMySQL을 사용하여 데이터베이스의 테이블 제약 조건을 설정하는 방법에 대해 알아보았습니다. PyMySQL을 사용하여 다양한 유형의 제약 조건을 추가할 수 있으며, 데이터베이스의 보안과 데이터 일관성을 유지하는 데 도움이 됩니다.
더 자세한 내용은 PyMySQL 공식 문서를 참조하시기 바랍니다.