Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 MySQL에 날짜 객체 삽입하는 방법 – strftime 활용 가이드

MySQL에 날짜 데이터 삽입하기

MySQL 데이터베이스에 날짜를 저장하려면 먼저 테이블에 DATE 또는 DATETIME 타입의 컬럼이 반드시 존재해야 합니다. 컬럼이 준비되었다면, 데이터를 삽입하기 전에 파이썬의 날짜 객체를 문자열 형식으로 변환해야 합니다. 이 과정에서는 datetime 모듈이 제공하는 strftime() 포맷팅 함수를 활용하는 것이 가장 간단하고 안전한 방법입니다.

예제 코드

from datetime import datetime

now = datetime.now()
id = 1
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')

# cursor라는 이름의 커서 객체가 있다고 가정하고 쿼리를 실행합니다.
cursor.execute('insert into table(id, date_created) values(%s, %s)', (id, formatted_date))

위 코드를 실행하면 (id, formatted_date) 튜플이 테이블의 해당 컬럼에 정상적으로 삽입됩니다. 특히 쿼리 작성 시 값을 직접 문자열에 넣지 않고 %s 플레이스홀더와 매개변수 튜플을 사용하면 SQL 인젝션 공격을 예방할 수 있어 보안 측면에서도 권장됩니다.

strftime 형식 코드 이해하기

strftime()에 사용된 형식 코드는 다음과 같은 의미를 가집니다.

  • %Y: 4자리 연도 (예: 2024)
  • %m: 2자리 월 (01~12)
  • %d: 2자리 일 (01~31)
  • %H: 24시간 기준 시간 (00~23)
  • %M: 분 (00~59)
  • %S: 초 (00~59)

만약 시간 정보 없이 날짜만 저장하고 싶다면 '%Y-%m-%d' 형식을 사용하면 되며, 이 경우 DATE 타입 컬럼에 적합한 값이 생성됩니다.