본문 바로가기
mysql/pymysql (mysql + python)

pymysql를 해보자

by signature95 2022. 1. 20.
728x90
반응형

pymysql은 mysql에 파이썬으로 접속할 수 있는 라이브러리다.

 

https://pypi.org/project/PyMySQL/

 

PyMySQL

Pure Python MySQL Driver

pypi.org

 

즉, mysql 명령어를 사용하여 파이썬에서도 이를 활용할 수 있다는 의미다.

 

따라서 이번 포스트에서는 간단하게 pymysql을 이용하여 데이터 베이스에 접근해보도록 한다.

 

코드는 다음과 같다.

 

먼저 라이브러리를 다운받자

pip install PyMySQL

그런다음 데이터베이스를 형성해 볼 것이다.

import pymysql

conn = pymysql.connect(host='localhost', 
                       user='root',
                       password='jjms7794',
                       charset='utf8') 

# conn = pymysql.connect(host='localhost', 
#                        user='root',
#                        password='jjms7794',
#                        charset='utf8',
#                        db = 'exercise') 


cursor = conn.cursor() 

sql = "CREATE DATABASE exercise"

cursor.execute(sql)

conn.commit() 
conn.close()

 

  • 하나하나씩 설명하자면, 먼저 라이브러리를 불러온다.

 

  • 그다음 connect를 이용하여 host는 본인의 컴퓨터인 localhost를 입력하며 user도 본인이므로 root를 입력해준다. 암호는 mysql을 다운받으면서 입력했던 본인의 암호를 입력하면 된다.그리고 여기서 database에 바로 접근하려면 db = '데이터 베이스 이름'을 입력하면 된다. (하지만 그 전에 db를 형성할 것이기 때문에 코드를 주석처리 하였다.) charset을 설정한 이유는 간혹 이를 사용하지 않을 경우, 한글이 깨지는 오류가 생기기 때문이다.

 

  • 그리고 connect 매서드를 이용하여 접속에 성공하면 cursor 메서드를 호출하며 Cursor 객체를 불러 올 수 있다.

 

  • Cursor는 Fetch 동작을 관리하는 용도이다.
    • fetchall(), fetchone(), fetchmany() 등의 메서드를 사용하여 데이터를 mysql로부터 가져온 후, Fetch된 데이터를 사용할 수 있는 것이다.

 

  • 그리고 sql 명령문에 exercise 라는 DB를 형성하라는 명령어를 입력하고 execute() 매서드를 통해 명령어를 보내게 된다.

 

  • 그리고 commit()을 사용하면 데이터를 확정하고 갱신할 수 있는 것이다.  (데이터를 삽입, 갱신, 삭제하는 DML문장을 실행하는 경우는 conn.commit()을 사용하여 확정하고 갱신할 수 있다.)

 

  • 마지막으로 close()를 사용하여 통로를 닫고 mysql도 종료하게 된다.

 

 

그렇게 하면 다음과 같은 화면이 출력될 것이다.

 

명령문 시행 전 초기 화면

 

pymysql 시행 후

 

728x90

'mysql > pymysql (mysql + python)' 카테고리의 다른 글

mysql 파이썬 활용법  (0) 2021.11.15

댓글