데이터베이스 시스템에 검색을 위하여 명령 쿼리를 실행합니다. 만일 실행되는 쿼리에 일 치하는 조건의 데이터가 많을 경우 처리 시간은 오래 걸립니다. 또한 많은 출력 결과물을 처리하여 보기 좋게 화면에 출력하는 것 또한 오래 걸릴 것입니다.

빠른 처리와 가독성을 위해서 데이터를 나누어서 표시합니다. 이때 사용할 수 있는 키워 드가 LIMIT입니다. LIMIT 키워드는 출력되는 데이터의 개수를 제한합니다.

| 쿼리 문법 |

SELECT 컬럼명, 컬럼명,  FROM 테이블명 LIMIT 표시할 ; 

13.1.1 쿼리 실습

쿼리의 맞는 데이터 검색을 처리하는데 LIMIT에서 지정한 숫자만큼의 데이터만 가지고 옵니다.

| 예제 쿼리 |

select code from orders limit 5; 

주문 목록에서 데이터를 가지고 오는데 제일 위에서부터 5개만 가지고 옵니다. 이를 위해 서 쿼리 뒤에 limit 5 명령을 추가했습니다.

| 콘솔 실습 화면 |

mysql> select code from orders limit 5;
+-------+
| code  |
+-------+
| O_001 |
| O_002 |
| O_003 |
| O_004 |
| O_005 |
+-------+
5 rows in set (0.00 sec)

데이터를 5개만 출력합니다.

13.1.2 PHP 실습

PHP 코드를 이용하여 데이터 제한을 실습합니다.

| PHP 예제 | mysql.class.php 파일에 메서드 예제를 추가합니다.

// 입력된 쿼리의 출력제한 limit를 설정합니다.
public function limit($query, $a, $b)
{
            $queryString = $query . " limit $a ";
            If ($b) {
                $queryString .= ",".$b;
            }
            return $queryString;
}

예제 파일 | limit-01.php

<?php

	include "dbinfo.php";
	include "mysql.class.php";
 
	// ++ Mysqli DB 연결.
	$db = new JinyMysql();

	// 기본 select 쿼리
	$query = "SELECT Id, FirstName, LastName FROM members";
	// 기본쿼리에 limit 제한을 설정합니다.
	$queryString = $db->limit($query,2);
    
	if ($rowss = $db->selectRowss($queryString)) {
		echo "tables fields = ". count($rowss) . "<br>";
 
		for ($i=0;$i<count($rowss);$i++) {
			echo $i."=";            
			print_r($rowss[$i]);
			echo "<br>";
		}
	}

?>

화면 출력

mysql connected!
쿼리성공] SELECT Id, FirstName, LastName FROM members limit 2
tables fields = 2
0=stdClass Object ( [Id] => 1 [FirstName] => lee [LastName] => hojin )
1=stdClass Object ( [Id] => 2 [FirstName] => [LastName] => jiny )