본문 바로가기
프로그래밍/파이썬

리눅스 파이썬과 mariadb 연동

by 밍구몬 2018. 12. 2.

1. Mariadb 모듈 설치

 

Mariadb는 Mysql과 호환이 되기 때문에 PyMySQL을 설치하면 된다.

 

# pip install PyMySQL

 

 

 

2. Python Mariadb 연동 소스

 

 

 

2-1 fetchall 사용(데이터를 한번에 모두 가져옴)

 

import pymysql

# mariadb연동을 위한 모듈 import

 

# 컨넥트를 미리 만들어준다.

# 접속할 host, uesr, password, db, 인코딩 입력

connect = pymysql.connect(host='localhost', user='root', password='P@ssw0rd',

                       db='testDB', charset='utf8')

 

#커서 생성

cur = connect .cursor()

 

# sql문 실행

sql = "select * from testTable"

cur.execute(sql)

 

# DB결과를 모두 가져올 때 사용

rows = cur.fetchall()

# 한번에 다 출력

print(rows)
# 원하는 행만 출력

print(rows[0])

 

# for문으로 출력

for row in rows:

print(row)

 

# 연결 해제

connect .close()

 

2-2 fetchone사용 (데이터를 한줄만 가져옴)

 

import pymysql

# mariadb연동을 위한 모듈 import

 

# 컨넥트를 미리 만들어준다.

# 접속할 host, uesr, password, db, 인코딩 입력

connect = pymysql.connect(host='localhost', user='root', password='P@ssw0rd',

                       db='testDB', charset='utf8')

 

#커서 생성

cur = connect .cursor()

 

# sql문 실행

sql = "select * from testTable"

cur.execute(sql)

 

#결과값을 하나만 가져올 때 사용

row=fetchone()

 

 

 

# 연결 해제

connect .close()

 

2-3 Dictoionary Cursor 사용

 

cur = connect .cursor()

 

이 부분을

 

cur = connect .cursor(pymysql.cursors.DictCursor)

위의 내용처럼 변경 

print(row['name']) 이런식으로 원하는 열만 검색이 가능 

 

 

2-4 where절 동적으로 받아 검색

 

sql = "select * from testTable"

cur.execute(sql)

 

위 내용을 

 

sql = "select * from testTable where no=%s and name=%s"

cur.execute(sql,(1,'홍길동'))

 

위처럼 변경하면 동적으로 받아온 값을 검색 할 수 있음.