Coding story/go Python

Python내에서 DB연동을 하기 위한 준비(pymysql)

지나가는개리씨 2022. 1. 11. 21:25
320x100
운영체제
Windows10
eclipse 2018-06 (photon)
jdk1.8
HeidiSQL

 

Python에서 DB연동은 Java의 Jdbc와는 다른 pymysql을 사용한다.

설치는 윈도우에서 CMD/명령크롬프트 혹은 Anaconda Prompt에서 

1
pip install pymysql
cs

을 넣으면 자동으로 설치가 진행된다. 

 

설치완료후, 파이선에서 pymysql을 넣으면 import가 되어 사용할 수 있게 되는데 

module문 안에서 db연동을 위한 conn(connect) 을 다음과 같이 작성한다. 

이는 자바의 JDBC에서의 Connection 객체를 만드는것과 같다고 생각하면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
import pymysql
#pip install pymysql을 cmd에서 입력하면 pymysql이 설치된다.
 
#db설정
conn = pymysql.connect(host='호스트명',
                       port=포트번호,
                       db='데이터베이스명',
                       user='유저명',
                       password='비밀번호',
                       charset='utf8')
 
 
cs

※ host는 초기값이 localhost로 되어있으니 바꾼다면 host번호를 수정하면된다. 그리고 port

숫자로 들어가야하니 '  '안에는 들어가지 않는다.

 

그리고 DB의 CRUD를 위한 SQL문을 작성하기 전에 커서라는 것을 넣어야하는데

이는 JDBC의 Statement와 같은 역활을 하며, 실질적으로 파이선에서 SQL문을 수행하는 역활을 한다.

 

커서의 입력방식은 다음과 같다.

1
2
3
4
5
6
7
8
#커서 선언
#자바에서의 커서와 다름
#cur = 자바에서의 statement와 같은 역활
curs = conn.cursor() 
 
#sql선언
sql = "sql문"
curs.execute(sql)
cs

 

결국 모두를 작성한 문을 한번에 펼치자면 이렇다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import pymysql
 
conn = pymysql.connect(host='localhost',
                       port=port,
                       db='db',
                       user='user',
                       password='password',
                       charset='utf8')
 
 
 
curs = conn.cursor() 
 
 
sql = "select m_id,m_name,tel from python.member"
curs.execute(sql)
 
#썼으면 닫아야함
conn.close()
curs.close()
cs

 

마지막으로 자바와 같은 방식으로 연동을 한 후에는 닫아야하기에 Connect와 Cursor는 닫아주는것이 좋다.

다음은 이를 이용한 CRUD를 다루어보겠다.

 

 

ㅇㄹ
반응형