English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 튜토리얼

PHP 고급 튜토리얼

PHP & MySQL

PHP 참조 매뉴얼

PHP MySQL DELETE

이 튜토리얼에서는 PHP를 사용하여 MySQL 테이블에서 기록을 제거하는 방법을 배웁니다.

데이터베이스 테이블 데이터 제거

기록을 테이블에 삽입하는 것처럼, SQL을 사용하여 DELETE표에서 기록을 제거합니다. 일반적으로 WHERE 절과 함께 사용되며, 특정 조건이나 조건을 만족하는 기록만 제거합니다.

DELETE 문의 기본 문법은 다음과 같습니다:

DELETE FROM table_name WHERE column_name=some_value

DELETE 문과 WHERE 절을 사용하여 SQL 쿼리를 실행하고, 이를 PHP mysqli_query() 함수에 전달하여 테이블 기록을 제거하겠습니다. demo 데이터베이스의 persons 테이블을 보세요:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email                |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | [email protected] |
|  2 | John | Rambo | [email protected] |
|  3 | Clark      | Kent      | [email protected]   |
|  4 | John | Carter | [email protected] |
|  5 | Harry      | Potter    | [email protected] |
+----+------------+-----------+----------------------+

아래 예제의 PHP 코드는 persons 테이블에서 제거됩니다.first_nameJohn과 같은 사람의 기록.

예제: 절차 지향 방식

<?php
/* MySQL 서버 연결을 시도합니다. 예를 들어, MySQL을 실행하고 있다고 가정합니다.
기본 설정의 서버(암호가 없는 사용자 "root") */
$link = mysqli_connect("localhost", "root", "", "demo");
 
//연결을 확인합니다
if($link === false){
    die("에러: 연결할 수 없습니다. " . mysqli_connect_error());
}
 
//삭제 실행을 시도합니다
$sql = "DELETE FROM persons WHERE first_name='John'";
if(mysqli_query($link, $sql)){
    echo "기록이 성공적으로 삭제되었습니다.";
} else{
    echo "에러: 실행할 수 없는 $sql. " . mysqli_error($link);
}
 
//연결을 닫습니다
mysqli_close($link);
?>

예제: 객체 지향 방식

<?php
/* MySQL 서버 연결을 시도합니다. 예를 들어, MySQL을 실행하고 있다고 가정합니다.
기본 설정의 서버(암호가 없는 사용자 "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//연결을 확인합니다
if($mysqli === false){
    die("에러: 연결할 수 없음 " . $mysqli->connect_error);
}
 
//삭제 실행을 시도합니다
$sql = "DELETE FROM persons WHERE first_name='John'";
if($mysqli->query($sql) === true){
    echo "기록이 성공적으로 삭제되었습니다.";
} else{
    echo "에러: 실행할 수 없음 $sql. " . $mysqli->error;
}
 
//연결을 닫습니다
$mysqli->close();
?>

예제: PDO 방식

<?php
/* MySQL 서버 연결을 시도합니다. 예를 들어, MySQL을 실행하고 있다고 가정합니다.
기본 설정의 서버(암호가 없는 사용자 "root")*/
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    //PDO 오류 모드를 예외로 설정합니다
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("에러: 연결할 수 없음 " . $e->getMessage());
}
 
//쿼리 실행 업데이트를 시도합니다
try{
    $sql = "DELETE FROM persons WHERE first_name='John'";  
    $pdo->exec($sql);
    echo "기록이 성공적으로 삭제되었습니다.";
} catch(PDOException $e){
    die("에러: 실행할 수 없음 $sql. " . $e->getMessage());
}
 
//연결을 닫습니다
unset($pdo);
?>

삭제 후에,persons표는 다음과 같이 표시됩니다:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email                |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | [email protected] |
|  3 | Clark      | Kent      | [email protected]   |
|  5 | Harry      | Potter    | [email protected] |
+----+------------+-----------+----------------------+

처음 보았듯이, 기록이 persons 테이블에서 성공적으로 제거되었습니다.

경고:DELETE 문의 WHERE 절은 삭제해야 할 기록을 지정합니다. WHERE 절을 생략하면 모든 기록이 삭제됩니다.