mysql에서 제한 키워드는 주로 쿼리 결과가 표시되기 시작하는 레코드와 총 표시되는 레코드 수를 지정하는 데 사용됩니다. 여기에는 "LIMIT 초기 위치, 레코드 수", "LIMIT 숫자"라는 세 가지 사용 구문이 있습니다. of records" 및 " LIMIT number of records OFFSET 초기 위치".
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
데이터 테이블에 수만 개의 데이터가 있는 경우 테이블의 모든 데이터를 한 번에 쿼리하면 데이터 반환 속도가 느려지고 데이터베이스 서버에 많은 부담을 줄 수 있습니다. 이때 LIMIT 키워드를 사용하여 반환되는 쿼리 결과의 개수를 제한할 수 있습니다.
LIMIT는 쿼리 결과가 표시되기 시작하는 레코드와 총 표시되는 레코드 수를 지정하는 데 사용되는 MySQL의 특수 키워드입니다.
LIMIT 키워드는 초기 위치를 지정하는 방법과 초기 위치를 지정하는 방법이 아닌 3가지 방법으로 사용할 수 있으며 OFFSET과 조합하여 사용할 수 있습니다.
초기 위치 지정
LIMIT 키워드는 쿼리 결과가 표시되기 시작하는 레코드와 표시되는 레코드 수를 지정할 수 있습니다.
LIMIT 초기 위치를 지정하는 기본 구문 형식은 다음과 같습니다.
LIMIT 初始位置,记录数
그 중 "초기 위치"는 표시를 시작할 레코드를 나타내고 "레코드 수"는 표시되는 레코드 수를 나타냅니다. 첫 번째 레코드는 위치 0에 있고 두 번째 레코드는 위치 1에 있습니다. 후속 레코드는 순서대로 추론됩니다.
참고: LIMIT 뒤의 두 매개변수는 양의 정수여야 합니다.
예제 1
tb_students_info 테이블에서 LIMIT 절을 사용하여 4번째 레코드부터 5개의 레코드를 반환합니다. SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT * FROM tb_students_info LIMIT 3,5; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
결과에서 볼 수 있듯이 이 명령문은 4번째 레코드부터 다음 5개의 레코드를 반환합니다. LIMIT 키워드 뒤의 첫 번째 숫자 "3"은 4행부터 시작함을 의미하고(기록된 위치는 0부터 시작하고 4행의 위치는 3임), 두 번째 숫자 5는 반환되는 행 수를 의미합니다.
초기 위치를 지정하지 마세요
LIMIT 키워드 초기 위치를 지정하지 않으면 첫 번째 레코드부터 표시됩니다. 표시되는 레코드 수는 LIMIT 키워드로 지정됩니다.
초기 위치를 지정하지 않은 LIMIT의 기본 구문 형식은 다음과 같습니다.
LIMIT 记录数
그 중 "레코드 수"는 표시할 레코드 수를 나타냅니다. "레코드 수"의 값이 전체 쿼리 결과 수보다 작은 경우 첫 번째 레코드부터 지정된 수의 레코드가 표시됩니다. "레코드 수"의 값이 전체 쿼리 결과 수보다 큰 경우, 쿼리된 모든 레코드가 바로 표시됩니다.
예제 2
tb_students_info 테이블의 쿼리 결과 중 처음 4개 행을 표시합니다. SQL 문 및 실행 결과는 다음과 같습니다.
mysql> SELECT * FROM tb_students_info LIMIT 4; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | +----+-------+---------+------+------+--------+------------+ 4 rows in set (0.00 sec)
결과에 4개의 레코드만 표시됩니다. 이는 "LIMIT 4"가 표시되는 레코드 수를 4개로 제한함을 나타냅니다.
예제 3
tb_students_info 테이블의 쿼리 결과 중 처음 15행을 출력한 SQL 문과 실행 결과는 다음과 같다.
mysql> SELECT * FROM tb_students_info LIMIT 15; +----+--------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+--------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 | | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.26 sec)
결과에는 10개의 기록만 표시됩니다. LIMIT 키워드에 15개의 레코드가 표시되도록 지정되어 있지만 쿼리 결과에는 10개의 레코드만 표시됩니다. 따라서 데이터베이스 시스템은 10개의 레코드를 모두 표시합니다.
LIMIT에는 쿼리 결과의 첫 번째 행부터 시작하도록 지정합니다. 즉, "LIMIT n"과 "LIMIT 0, n"은 동일한 결과를 반환합니다. 두 개의 인수를 사용하는 LIMIT는 모든 위치에서 시작하여 지정된 수의 데이터 행을 반환합니다.
LIMIT는 OFFSET과 함께 사용할 수 있습니다.
LIMIT는 OFFSET과 함께 사용할 수 있습니다. 구문 형식은 다음과 같습니다.
LIMIT 记录数 OFFSET 初始位置
LIMIT 구문의 매개변수는 "초기 위치"와 같습니다. "는 표시를 시작할 레코드를 지정합니다. "record "Number"는 표시되는 레코드 수를 나타냅니다.
예제 4
tb_students_info 테이블에서 LIMIT OFFSET을 사용하여 4번째 레코드부터 5개의 레코드를 반환합니다. SQL 문과 실행 결과는 다음과 같습니다.
mysql> SELECT * FROM tb_students_info LIMIT 5 OFFSET 3; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
결과에서 볼 수 있듯이 이 명령문은 4번째 레코드부터 다음 5개의 레코드를 반환합니다. 즉, "LIMIT 5 OFFSET 3"은 4번째 레코드부터 다음 5개의 레코드를 구한다는 의미로, "LIMIT 3, 5"가 반환한 결과와 동일하다.
【관련 추천: mysql 비디오 튜토리얼】
위 내용은 mysql에서 제한 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!