[데이터분석] 메타코드M SQL과 Python 연결해서 데이터분석 해보기

 

SQL과 파이썬을 둘 다 학습했지만 연결해서 사용해본 경험은 없었다. 그래서 이 강의를 보자마자 신청을 해야겠다라고 생각이 바로 들었다 ㅎㅎ 짧은 강의시간이지만 정말 핵심만 알차게 넣어둔 강의, 지금 리뷰를 시작하겠다


 

sql과 python을 연결해서 사용하려면 mysql.connector를 설치해야한다. 이 모듈의 역할은 말 그대로 데이터베이스를 연결해 주는 것으로 위 코드와 같이 관련 정보를 입력해서 데이터베이스에 접근한다.

host = 데이터베이스 서버 주소
user = 데이터베이스 사용자 이름
password = 데이터베이스 비밀번호
database = 접속하고자 하는 데이터베이스

 

쿼리 실행에 관한 메서드들


cursor.execute(): 이 메서드는 SQL 쿼리를 실행하는 데 사용, 변수안에 실행하려는 SQL 명령문을 문자열 형태로 기입
Cursor.description:  마지막으로 실행된 execute() 호출에 의해 생성된 결과의 각 컬럼에 대한 메타데이터를 포함한 정보를 반환, 예를 들어 컬럼 이름, 데이터 타입 등의 정보를 포함
cursor.fetchone(): 쿼리 결과에서 다음 행(row)을 반환, 결과가 더 이상 없으면 None을 반환, 일반적으로 단일 결과 행만 필요할 때 사용
cursor.fetchall(): 쿼리 결과의 모든 행을 한 번에 가져와서 반환합니다. 큰 결과 세트의 경우 많은 메모리를 소비할 수 있으므로 주의
cursor.fetchmany(size=숫자): 이 메서드는 쿼리 결과에서 지정된 size 수만큼의 행을 반환, 대량의 데이터를 처리할 때 결과를 더 작은 단위로 나누어 처리하고자 할 때 유용

 

 

실습에 사용하는 데이터베이스는 Mysql에서 샘플로 제공하는 데이터이다. 다른 기초강의를 듣지 않았으면 위 사이트에서

 sql파일을 다운받아 데이터베이스를 구성하면 된다.

(https://www.mysqltutorial.org/getting-started-with-mysql/mysql-sample-database/)

데이터베이스 구성을 보면 알겠지만 제품과 고객, 주문 등 친숙한 구조로 되어있다. 

그래서 고객과 제품을 분석해서 실제 마케팅에 활용할 수 있는 수업이 진행되었다.

 

 

이번 리뷰에서 다룰 분석은 vip 고객 분석이다. 먼저 고객 시각화를 위해 데이터베이스를 불러온다. 

그 후 쿼리를 작성하는데 결제에 대한 데이터, 그리고 주문에 대한 데이터를 고객번호로 조인했다.

고객번호를 기준으로 그룹화하고 내림차순으로 순서를 지정한다. 카운트 함수로 주문횟수를 구하고 합 함수로 주문 금액의 총합을 구한다. 이를 저장해서 바로 시각화를 진행하고자 한다.

 

python과 sql을 연결하는 주된 이유인 분석을 위한 시각화

vip고객을 식별하기 위한 코드작성으로 미리 sql으로 쿼리작업을 끝냈기때문에 굉장히 명료하게 작성할 수 있다.

아래 그래프를 보면 141번 고객과 124번 고객이 압도적인 구매량을 보이는 것을 볼 수 있다. 이를 활용해서 혜택을 지급하는 등 전략을 수립하거나 혹은 세부적으로 특정 고객의 연도별,분기별 구매 횟수를 시각화 할 수 있다.

 

 

 

이렇게 각 분석마다 현업에서 사용하는 전략을 알려준다.

총 10가지의 분석이 있고 코드도 다 있기 때문에 내가 사용할 데이터베이스에 맞춰 수정해도 사용하면 좋을 듯 하다.

사실 실무에서 어떻게 쓰이는 취준생입장에선 잘 모르는 경우가 있는데 이러한 코멘트들이 도움이 많이 됐다.

뭔가 튜토리얼 느낌..?


 

파이썬과 sql의 연결, 배우고 싶은 주제였는데 정말 쉽게 설명해줘서 좋았다..👍