본문 바로가기
코딩/파이썬

파이썬에서 MySQL 사용하기

by DIYver 2021. 8. 19.

파이썬에서 Flask 를 사용한다면 sqlalchemy 라는 sql이 기본 사용이겠지만,

많은 사람들이 MySQL 을 이용하므로

Flask 에서 MySQL 을 사용하는 방법을 정리해본다.

 

 

 

파이썬에 PyMySQL 설치

우선 파이썬에서 MySQL을 사용할 수 있는 환경을 만들어줘야 한다.

 

파이썬에서는 PyMySQL 패키지를 설치하면 된다.

 

파이썬 CMD를 켜고 

pip3 install PyMySQL

위 명령어를 입력해준다.

 

 

금방 설치가 완료된다.

 

 

이제 파이썬 코드를 작성해보자.

import pymysql


sensor_db = pymysql.connect(
    user='root', 
    passwd='{설정한 비밀번호}', 
    host='127.0.0.1', 
    db='sensor_check', 
    charset='utf8'
)

각자 자신이 생성한 MySQL 서버 관련 정보를 기입하면 된다.

그리고 사용할 db까지 선택해주어야 한다.

 

 

MySQL 데이터 불러오기

MySQL 에 저장되어 있는 데이터를 불러와보자.

테스트로 데이터 한줄만 넣어놓았다.

 

 

cursor = sensor_db.cursor()

sql = "SELECT * FROM {테이블명};"

cursor.ececute(sql)

result = cursor.fetchall()

result

위의 코드를 자신의 상황에 맞게 수정하여 입력하고 실행시켜주면 된다.

 

필자의 경우 파이썬에서 MySQL에 저장되어 있는 데이터가 정확하게 읽어와진 것을 확인할 수 있었다.

 

 

 

Cursor 에는 2가지 방법이 존재하는데,

위의 방법은 일반적인 튜플 형태의 Cursor 였고

 

이번에는 딕셔너리 형태의 Cursor인 DictCursor 를 사용해보겠다.

 

import pymysql


sensor_db = pymysql.connect(
    user='root', 
    passwd='password', 
    host='127.0.0.1', 
    db='sensor_check', 
    charset='utf8'
)

cursor = sensor_db.cursor(pymysql.cursors.DictCursor)

sql = "SELECT * FROM sensor;"

cursor.execute(sql)

result = cursor.fetchall()

result

파이썬 코드를 위와같이 작성하고 실행해보면

위와 같이 결과가 나온다.

 

쉽게 말하자면 더 자세하게 확인할 수 있는 것이다.

 

 

 

MySQL에 데이터 추가하기

이번에는 MySQL에 데이터를 추가해보자.

 

 

import pymysql


sensor_db = pymysql.connect(
    user='root', 
    passwd='password', 
    host='127.0.0.1', 
    db='sensor_check', 
    charset='utf8'
)

cursor = sensor_db.cursor(pymysql.cursors.DictCursor)

sql = "INSERT INTO sensor (name,type,amount,price) VALUES('아두이노 나노','MCU','10','3500');"

cursor.execute(sql)
sensor_db.commit()

파이썬 코드는 각자 SQL 상황에 맞게 수정하여 실행시키면 된다.

 

 

필자의 경우 파이썬 코드를 실행시킴으로써 MySQL 에 새로운 항목이 추가 된 것을 확인할 수 있었다.

 

위 파이썬 코드에서 commit() 을 사용하지 않으면 DB에 반영되지 않으므로, 주의해야 한다.

 

 

 

 

MySQL에 데이터 삭제하기

파이썬을 통해서 데이터를 확인하고, 추가하는 것을 해보았으므로 이번에는 삭제를 해보도록 하자.

 

import pymysql


sensor_db = pymysql.connect(
    user='root', 
    passwd='password', 
    host='127.0.0.1', 
    db='sensor_check', 
    charset='utf8'
)

cursor = sensor_db.cursor(pymysql.cursors.DictCursor)

sql = "DELETE FROM sensor WHERE _id = 2;"

cursor.execute(sql)
sensor_db.commit()

 

방금 추가한 데이터가 _id 가 2 이므로

DELETE FROM sensor WHERE _id = 2

라는 명령을 MySQL에 보냄으로써 

해당 데이터만 삭제하라는 지시를 내렸다.

 

MySQL 에서 데이터를 확인해보면

_id 가 2번인 데이터가 삭제된 것을 확인할 수 있었다.

 

 

 

 

 

여기까지 따라했으면 어떻게 파이썬에서 MySQL에 명령을 주는지 이해할 수 있을 것이다.

문장을 변수에 저장시키고

해당 변수를 커서를 통해 MySQL 에 보내는 것이 전부라고 할 수 있겠다.

이를 응용해서 MySQL을 파이썬으로 자유자재로 다룰 수 있다.

 

도움이 되었거나, 문제가 있는 경우 댓글로 알려주세요~!

감사의 댓글은 작성자에게 큰 힘이 됩니다 ^^

댓글