Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python MySQL의 지정된 행 번호에서 시작하여 테이블에서 특정 수의 레코드를 검색하는 방법은 무엇입니까?

<시간/>

대부분의 경우 테이블에서 모든 행을 선택할 필요가 없습니다. 때때로 특정 인덱스에서 시작하여 테이블에서 특정 수의 레코드를 검색해야 할 수도 있습니다. 10개의 레코드가 있는 테이블이 있다고 가정합니다. 3 rd 부터 테이블에서 5개의 행을 선택해야 합니다. 행.

이것은 SELECT 문과 함께 LIMIT 및 OFFSET 절을 사용하여 수행됩니다. LIMIT는 검색하려는 행 수를 지정하는 데 사용됩니다. OFFSET은 행을 가져올 시작 위치를 지정하는 데 사용됩니다. 3 rd 부터 데이터를 가져오려면 행에서 오프셋은 2여야 합니다.

구문

SELECT * FROM table_name LIMIT no_of_rows OFFSET 행의 시작 인덱스

파이썬에서 MySQL을 사용하여 테이블에서 특정 레코드를 선택하는 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 적절한 mysql 문을 사용하여 쿼리 생성

  • execute() 메서드를 사용하여 SQL 쿼리 실행

  • 연결을 끊다

"Students"라는 이름의 다음 테이블이 있다고 가정합니다. -

+----------+---------+----------+------------+ | 이름 | 수업 | 도시 | 표시 |+----------+---------+----------+------------+| 카란 | 4 | 암리차르 | 95 || 사힐 | 6 | 암리차르 | 93 || 크리티 | 3 | 바탈라 | 88 || 쿠시 | 9 | 델리 | 90 || 키라트 | 5 | 델리 | 85 |+----------+---------+-----------+------------+ 

예시

2 nd 에서 시작하여 3개의 행을 선택한다고 가정합니다. 행.

 import mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" SELECT * FROM Students LIMIT 3 OFFSET 1"cursor.execute(query) for row in cursor:print(row)db.close()

위의 코드는 2 nd 부터 3개의 레코드를 가져와서 출력합니다. 행.

출력

('사힐' , 6 , '암리차르' ,93)('크리티' , 3 , '바탈라' ,88)('아밋' , 9 , '델리' , 90)