본문 바로가기
Python

Python과 MySQL 연동하기

by hyeeein 2024. 8. 6.

Python과 MySQL을 연동하는 방법

1. pymysql을 설치한다.

pip install pymysql

 

2. pymysql을 활용하여 데이터베이스와 연동한다.

  • MySQL에서 root 테이블의 host, user, password, db명을 입력
import pymysql
conn = pymysql.connect(host='', user='', password='', db='', charset='utf8')

cur = conn.cursor()

 

3. 커서를 활용하여 테이블을 생성하고, 데이터를 입력한다.

  • 테이블을 생성하고 데이터를 반복 입력하여 저장해보기
  • 주피터 상 결과가 1이 나오면 데이터가 1건이 입력된 것
# 테이블 생성
# cur.execute("DROP TABLE IF EXISTS userTable")
cur.execute("CREATE TABLE userTable (id char(4), userName char(15), email char(20), messages char(50))")

# 필요한 데이터 반복 입력 (결과가 1인 것은 데이터가 1건이 입력된 것)
cur.execute("INSERT INTO userTable VALUES ('hye', '박혜인', 'hyeeein@aaa.co.kr', '펑션콜에 대해 알려줘')")

 

4. commit을 통해 확실하게 저장하고, close를 통해 닫는다.

  • 지금은 데이터가 임시저장된 상태이므로 확실하게 저장 (commit)
# 지금은 임시저장된 상태, 확실하게 저장 (Commit)
conn.commit()

# 다 저장했으면 닫기
conn.close()

 

5. 결과화면

 


 

데이터를 연속해서 입력하여 저장하고 싶다면?

import pymysql

# 전역변수 선언부
conn, cur = None, None
data1, data2, data3, data4 = "", "", "", ""
sql = ""

# 메인 코드
conn = pymysql.connect(host='', user='', password='', db='', charset='utf8')
cur = conn.cursor()

while (True):
    data1 = input('사용자 아이디 (3자 이내) ==> ')

    # 입력하지 않으면 해당 반복문 종료
    if data1 == "":
        print('Stop!')
        break;
    data2 = input('사용자 이름 ==> ')
    data3 = input('사용자 이메일 ==> ')
    data4 = input('GPT에게 물어보고 싶은 메시지 (50자 이내) ==> ')
    sql = "INSERT INTO userTable VALUES ('" + data1 + "', '" + data2 + "', '" + data3 + "', '" + data4 + "')"
    cur.execute(sql)

conn.commit()
conn.close()

 

결과화면