[TIL] Fetch All

썹스·2024년 2월 10일

SQL

목록 보기
11/17

📌 Fetch All

fetchall()함수는 Python의 MySQL 커서 객체에서 사용되는 메서드이다.
해당 메서드를 호출하면 커거사 현재 실행 중인 쿼리에 대한 모든 행(ROW) 데이터를 가져온다.
(행 데이터의 형식는 튜플 또는 리스트와 같은 형식!!)

읽어올 테이블의 데이터 양이 많은 경우 buffered=True를 사용한다.(모들 결과를 클라이언트 측에서 한 번에 버퍼링 하여 효율적으로 처리할 수 있음)

✅ 파이썬으로 테이블 데이터 조회하기

ex) 파이썬에서 Amazon RDS DB를 연결하여 특정 테이블 조회하기

import mysql.connector

remote = mysql.connector.connect(
  host = "<엔트포인트번호>",
  port = 3306,
  user = "admin",
  password = "******",
  database = "<DB이름"
)

cur = remote.cursor(buffered = True)   # 데이터 양이 많은 경우 buffered=True 추가
cur.execute("select * from TableName") # 테이블 데이터 조회

result = cur.fetchall()  # cur에 담겨있는 모든 행 데이터를 result 변수에 할당
for i in result:  # 할당된 데이터를 반복문을 통해 1개씩 확인
  print(i)

✅ 검색 결과를 Pandas로 읽기

import pandas as pd

df = pd.DataFrame(result)
df.head()    # head()메서드에 인자값을 기입하지 않으면, 데이터프레임의 처음 5개 행을 출력
profile
코린이

0개의 댓글