😎 프로젝트 만들기/- 기타 프로젝트

[python&mysql] 은행시스템 만들기 - 4. pymysql 모듈로 연동시키기 & 판다스로 테이블 출력해보기

또방91 2022. 1. 17. 16:46
728x90

 

 

 

 

 

💻 pymysql 모듈로 연동시키기 (21.01.13.목)

 

 

 

1.  mysql과 연동하는 함수 만들기

- ex)입금 시 사용하는 def pyHistoryD(x)

#모듈 임포트하기
import pymysql

#connect 연결하기!
conn = pymysql.connect(host="localhost", port3306, db="bladb", passwd="비~밀", user="blauser")

#cursor로 통로 만들기!
cur = conn.cursor()

#실행할 sql 쿼리문 작성
sql='''
insert into history(계좌번호,이름,입출금,금액,잔액)
    values(%s,%s,%s,%s,%s);
    '''
for data in bankinform:                      
    cur.execute(sql,(str(data[0]),str(data[1]),"입금",int(x),int(data[2])))

# sql 테이블에 커밋해주기
conn.commit()

# 실행했던 connect 함수와 cursor함수 close해주기
cur.close()
conn.close()
<결과 화면>



1번 메뉴인 계좌개설을 하고 입금완료를 해준 후
-> Mysql에서의 history 테이블을 확인해주면 실시간으로 데이터가 들어가있다.


 

2.  mysql과 연동하고 프로그램 종료할 때 pandas로 table 테이블 출력하기

#connect 연결하기!
conn = pymysql.connect(host="localhost", port3306, db="bladb", passwd="비~밀", user="blauser")

#cursor로 통로 만들기!
cur = conn.cursor()

#실행할 sql 쿼리문 작성
result = pd.read_sql_query('select * from history',conn)

#판다스 출력하기
print(result)
                    
# 실행했던 connect 함수와 cursor함수 close해주기
cur.close()
conn.close()

 

<결과 화면>

입금과 출력을 몇개 입력해보고, 프로그램 종료 시 아래처럼 판다스 표가 출력된다.


sql table은 물론 실시간 입력되어 아래처럼 입력되어있을 것이다!

 

 

* 자세한 사항은 아래 gitlab project 참고

 

https://gitlab.com/LIMSONA/bla_bank

 

🤞🍀

 

 

728x90