[Python] Mysql 연동하기 & insert - pymysql

✨New Wisdom✨·2020년 8월 17일
2

📘 Python 📘

목록 보기
1/11

5초 마다 데이터를 insert하는 테스트를 위해 python을 mysql과 연동해 보겠다!

🚩 패키지 설치 (MAC Version)

$ pip3 install pymysql

설치가 완료되면 파이썬 파일을 작성한다

🚩 Connection 정보

📃 insert_data.py

import pymysql.cursors

# connection 정보
conn = pymysql.connect(
    host = '', # host name
    user = '', # user name
    password = '', # password
    db = '', # db name
    charset = 'utf8'
)
curs = conn.cursors()
  • conn 변수 안에 pymysql.connect를 선언하고 connection 정보를 적어준다.
  • curs = conn.cursors() : DB와 상호 작용을 위해 cursor 객체를 생성한다.

🚩 쿼리문 작성 & insert 실행

    sql = "insert into sound(class,eventdate,sound_userIdx) values('motor',default,1);"
    curs.execute(sql)
  • curs.excute(sql)을 사용해 SQL 실행

🚩 5초 마다 DB에 데이터를 저장하는 코드

📃 insert_data.py

import pymysql.cursors
import threading
import time

def insert_data():
    print('hihi')
    # connection 정보
    conn = pymysql.connect(
        host = 'soundee-db-instance.cigpqobh4owg.ap-northeast-2.rds.amazonaws.com', # host name
        user = 'admin', # user name
        password = 'soundeedatabase', # password
        db = 'soundee', # db name
        charset = 'utf8'
    )

    curs = conn.cursor()
    sql = "insert into sound(class,eventdate,sound_userIdx) values('motor',default,1);"
    curs.execute(sql)
    conn.commit()
    threading.Timer(5,insert_data).start()

insert_data()
  • mysql workbench로 확인해봤는데 conn.commit()을 해야지 반영이 되는 것 같았다.
  • threading.Timer(5,insert_data).start() : insert_data()를 5초에 한 번씩 실행한다.
profile
🚛 블로그 이사합니다 https://newwisdom.tistory.com/

0개의 댓글