데이터 삭제 시 또한 범위를 지정한 영역의 데이터만 삭제하게 됩니다. 데이터를 정렬 키 워드 또는 제한 키워드를 함께 사용하여 데이터를 삭제할 수 있습니다.

| 쿼리 문법 |

DELETE FROM 테이블이름 ORDER BY 컬럼명 LIMIT 제한 개수; 

18.3.1 PHP 코드

PHP 코드를 통해서 데이터를 삭제해 봅니다.

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

// 최상의 데이터 몇개만 삭제합니다.
public function deleteLimit($tbname, $num, $orderby)
{
            if ($tbname) {
                if($num) {

                    if ($orderby){
                        $queryString = "DELETE FROM $tbname ORDER BY $orderby LIMIT $num";
                    } else {
                        $queryString = "DELETE FROM $tbname LIMIT $num"; 
                    }
                    

                    // 쿼리를 전송합니다.
                    if (mysqli_query($this->dbcon, $queryString)=== TRUE) {
                        $this->msgEcho("쿼리성공] ".$queryString);
                        $this->msgEcho(" 데이터 $Id 삭제!");

                        // 객체 반환, 매서드체인
                        return $this; 

                    } else {
                        $this->msgEcho("Error] ".$queryString);
                    }

                } else {
                    $this->msgEcho("Error] 삭제할 테이터 갯수가 없습니다."); 
                }

            } else {
                $this->msgEcho("Error] 테이블 이름이 없습니다."); 
            }
}

예제 파일 | delete-04.php

<?php

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

	$tbname = "members3";

	// 최상위 데이터 2개만 삭제합니다.
	$db->deleteLimit($tbname, 2);

	// LastName 정렬후에  데이터 2개만 삭제합니다.
	$db->deleteLimit($tbname, 2, "LastName desc");
?>

화면 출력

mysql connected!
쿼리성공] DELETE FROM members3 ORDER BY LastName desc LIMIT 2
데이터 삭제!