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)
import pandas as pd
df = pd.DataFrame(result)
df.head() # head()메서드에 인자값을 기입하지 않으면, 데이터프레임의 처음 5개 행을 출력