Dev/Python

[Python] PyMySQL

kyeoneee 2017. 8. 16. 00:31
반응형

python의 MySql 연동 라이브러리 중 PyMySql 라이브러리를 사용하여 보았다. 


pip 명령어를 통해 python을 쉽게 설치할 수 있다.

$pip install PyMySql

터미널에서 python을 실행하여 

>>>import pymysql

을 통해 아래의 사진과 같이 에러가 나지 않는 경우 제대로 설치가 되었음을 확인할 수 있다.



PyMySql의 설치가 완료되면 아래의 예제와 같이 데이터베이스 서버에 접속하여 데이터를 변경하고, 원하는 데이터를 얻어올 수 있다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import pymysql.cursors
 
 
 
# 연결하고자 하는 데이터베이스의 정보를 입력
 
connection = pymysql.connect(host='MySql 서버 주소',
 
                             user='사용자ID',
 
                             password='패스워드',
 
                             db='데이터베이스 이름',
 
                             charset='utf8mb4',  # 데이터를 utf-8형식으로 받아오기위한 옵션
 
                             cursorclass=pymysql.cursors.DictCursor)  # 데이터베이스에서 받아오는 정보들을 딕셔너리 형태로 받아오기 위한 옵션
 
 
 
try:
 
    with connection.cursor() as cursor:
 
        # 데이터를 입력하기 위한 부분
 
        sql = "INSERT 쿼리"
 
        cursor.execute(sql, (쿼리의 %s 등 변수가 들어갈 자리))  # 쿼리와 튜플형식의 파라미터를 execute 메서드를 통해 db 서버에 전송
 
 
 
    # 데이터를 변경하는 경우 commit 메서드를 통해 변경 데이터를 바로 적용해 주어야 함
 
    connection.commit()
 
 
 
    # 데이터베이스의 데이터를 받아오기 위한 부분
 
    with connection.cursor() as cursor:
 
        # 데이터를 받아오기 위한 쿼리
 
        sql = "SELECT 쿼리"
 
        cursor.execute(sql, (쿼리의 %s 등 변수가 들어갈 자리))  # execute메서드를 통해 받아오고자 하는 데이터에 대한 쿼리를 db 서버에 전송
 
        result = cursor.fetchone()  # 데이터를 한 줄만 받아오기 위해서는 fetchone 메서드를 사용하고 여러 데이터를 받아오기 위해서는 fetchall 메서드를 사용하면 됨
 
        print(result)
 
 
 
finally:
 
    connection.close()
cs
반응형