Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 브라이틱스 서포터즈
- paper review
- 파이썬 내장 그래프
- 범주형 변수 처리
- Brigthics Studio
- 머신러닝
- pymysql
- 브라이틱스 분석
- 브라이틱스 스태킹
- 브라이틱스 프로젝트
- Activation Function
- michigan university deep learning for computer vision
- 삼성 SDS
- 삼성 SDS 서포터즈
- 브라이틱스 AI
- 데이터 분석
- 분석 툴
- Brightics studio
- Deep Learning for Computer Vision
- 검증 평가 지표
- Brightics EDA
- 비전공자를 위한 데이터 분석
- Brightics 서포터즈
- 딥러닝
- 서포터즈 촬영
- 데이터 분석 플랫폼
- 파이썬 SQL 연동
- Python
- Brightics AI
- Random Forest
Archives
- Today
- Total
하마가 분석하마
[python] pymysql을 사용한 sql 연동1 본문
python과 mysql 연동
pymysql
- pymysql은 mysql을 python에서 사용할 수 있는 라이브러리이다. pymysql은 python 프로그램이 mysql의 서버와 연결되어 DB에 저장되어 있는 데이터들을 파이썬으로 불러올 수 있게 해 준다.
- DB의 ['user', 'password', 'host', 'database', 'charset'] 등을 지정해주고, connect 메소드를 사용하여 객체와 연결을 해준다. 예시를 보며 실습해보자
실습
1. 라이브러리 설치
!pip install pymysql
2. 라이브러리 호출
import pymysql
import pandas as pd
3. mysql과 python 연결
## MYSQL connection으로 host, port 등 확인
host = "127.0.0.1"
port = 3306
database = "class"
username = "root"
password = "abcd1234"
### pymysql을 사용해서 파이썬과 mysql 연결
# .connect 사용
class_db = pymysql.connect(host=host, user=username, passwd=password, db=database, port=port,charset='utf8')
4. 연결한 DB와 상호작용 하기위해 cursor 객체 생성
- cursor 클래스는 실제적으로 DB의 sql 구문을 실행시키고 조회된 결과를 가져오게 된다.
## cursor 객체 생성 cursor = class_db.cursor() cursor
[cursor 함수]
- cursor객체.execute() : sql문을 실행시키기 위해 execute 함수 호출
- cursor객체.fetchone() : 조회된 결과로부터 데이터 1개(하나의 row)를 반환
- cursor객체.fetchall() : 모든 데이터를 한꺼번에 클라이언트로 가져올 때 사용이 된다.
- cursor객체.fetchmany() : 여러 개의 데이터를 반환하게 된다.
## sql문 작성
sql = 'select * from exam_result'
cursor.execute(sql)
# 몇 개의 행으로 이루어져 있는지 확인
print(cursor.execute(sql))
## 데이터 1개 가져오기
result_fist = cursor.fetchone()
## 모든 데이터 한번에 가져오기 (1행이 포함되지 않는다.(얖에서 한 줄을 읽었기 때문에 커서가 내려와서 다음 줄부터 읽게 됨))
result_all = cursor.fetchall()
## 여러 개의 데이터를 반환한게 된다.
# 읽고 싶은 줄 수를 괄호 안에 적어야 함
# fetchall()을 실행하고 나면 커서가 맨 마지막으로 가 있기에 select 문을 다시 할당해주고 fetchmany()를 확인해야 한다.
cursor.execute(sql)
result_many = cursor.fetchmany(2)
5. 튜플 값 확인
- DB의 행이 하나의 튜플에 들어와서 저장되어 있다.
- 따라서 변수를 출력하기 위해서는 행을 불러온 후에 그 안에서 변수를 출력한다.
## 튜픞 값 확인
for i in result_many:
print("## 행:", i, end='\n\n')
for j in i:
print("# 변수 출력:", j)
---------------------------------------------코드 실행 결과---------------------------------------------
## 행: ('변수1', '변수2', '변수3', '변수4')
# 변수 출력: 변수1
# 변수 출력: 변수2
# 변수 출력: 변수3
# 변수 출력: 변수4
6. 데이터프레임으로 만들기
## fetchall() 데이터 프레임
df_all = pd.DataFrame(result_all)
df_all.head()
'python' 카테고리의 다른 글
[python] try | except | else | finally (0) | 2022.01.16 |
---|---|
[python] pymysql을 사용한 sql 연동2 (0) | 2021.12.24 |
[python] 내장 그래프 3 (histogram, kernel density, pie) (0) | 2021.07.29 |
[python] 내장 그래프 2 (boxplot, barplot) (0) | 2021.07.26 |
[python] 내장 그래프 1 (line, scatter) (0) | 2021.07.22 |