[python] pymysql을 이용하여 INSERT하기
2021. 10. 4. 20:24ㆍ개인 공부 공간/Python
최근 날씨 관련 open api 활용 토이 프로젝트 진행 도중 직접 생성한 aws rds에 pymysql을 이용하여 데이터를 입력해야 했었습니다. SQL 쿼리문은 많이 작성해봤지만 파이썬에서 사용해본적은 없어서 pymysql 사용하기 위해 그 당시 참고한 내용들을 정리한 글입니다.
코랩 환경(파이썬 version 3.7.12) 설명입니다. 파이썬에서 mysql 이나 mariaDB를 활용하기 위해서는 pymysql을 이용해야 합니다.
설명 코드:
# install & 필요 library
!pip install pymysql
import pymysql
# aws rds 연결
db = pymysql.connect(host = 'host-url',
port = , # 일반적으로 3306
user = 'user_name',
passwd = 'pass_wd',
db = 'db_name',
charset = 'utf8') # 한글 깨짐 방지
# 커서 획득
cursor = db.cursor(pymysql.cursors.DictCursor)
# 토이 프로젝트 데이터
# weather_data = {'date':'2021-10-04', 'hour':'20:00:00',
# 'latitude':37, 'longitude':126,
# 'TMP':23, 'WSD':7.8,
# 'code':'0', 'state':'없음',
# 'POP':30, 'PCP':0}
# INSERT 하는 과정
sql = "INSERT INTO short_term_forecast(date, hour, latitude, longitude, TMP, WSD, code, state, POP, PCP) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
cursor.execute(sql, (weather_data['date'],weather_data['hour'],
weather_data['latitude'],weather_data['longitude'],
weather_data['TMP'],weather_data['WSD'],
weather_data['code'],weather_data['state'],
weather_data['POP'],weather_data['PCP']))
db.commit()
위의 예시 코드에서는 딕셔너리 형태의 데이터를 INSERT하는 예시만 존재하지만, 리스트 형태의 데이터도 INSERT가 가능합니다.
'개인 공부 공간 > Python' 카테고리의 다른 글
[Pandas] stack & unstack을 이용한 데이터 재구조화 (0) | 2021.11.18 |
---|