반응형

MariaDB, MySQL에서 페이지 단위로 검색하기

 

MariaDB, MySQL에서 페이지 단위로 검색하려면 LIMIT 절을 사용하여 검색할 행의 범위를 제한할 수 있다.

 

예를 들어, SELECT 문에서 LIMIT을 사용하여 검색하려는 시작 행의 위치와 가져올 행의 수를 지정할 수 있다. 예를 들어, 다음 쿼리는 table_name 테이블에서 10개의 행을 검색하며, 시작 행은 20번째 행이다. 

SELECT * FROM table_name LIMIT 20, 10;

이렇게 하면 20번째 행부터 10개의 행이 검색된다.

또는 OFFSET을 사용하여 시작 위치를 지정할 수 있다. 예를 들어, 다음 쿼리는 table_name 테이블에서 10개 행을 검색하며, 시작 행은 20번째 행이다.

SELECT * FROM table_name LIMIT 10 OFFSET 20;

 

 

파이썬에서 페이지 단위로 쿼리하는 예제는 다음과 같다.

 

import mysql.connector

# 데이터베이스 연결 설정
conn = mysql.connector.connect(
    host="localhost",
    user="username",
    password="password",
    database="employees"
)

# 커서 생성
cursor = conn.cursor()

# 페이지 단위로 쿼리
page_size = 20  # 페이지당 20개씩 처리

page_no = 10  # 10페이지
start_row = page_size*(page_no - 1) + 1  # 시작 row


query = "SELECT * FROM employees LIMIT %s, %s;"
cursor.execute(query, (start_row, page_size))

# 결과 출력
for row in cursor:
    print(row)

# 커넥션 닫기
cursor.close()
conn.close()

 

반응형

+ Recent posts