데이터 삭제 시 또한 범위를 지정한 영역의 데이터만 삭제하게 됩니다. 데이터를 정렬 키 워드 또는 제한 키워드를 함께 사용하여 데이터를 삭제할 수 있습니다.
| 쿼리 문법 |
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
데이터 삭제!