Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

PHP 스크립트로 기존 MySQL 테이블 삭제하는 방법


PHP로 MySQL 테이블 삭제하기

데이터베이스를 운영하다 보면 더 이상 필요 없는 테이블을 삭제해야 할 때가 있습니다. PHP에서는 SQL의 DROP TABLE 문을 실행하여 기존 MySQL 테이블을 손쉽게 삭제할 수 있습니다.

과거에는 mysql_query() 함수를 사용해 이 작업을 처리했지만, 해당 함수는 PHP 5.5부터 폐기(deprecated)되었고 PHP 7에서는 완전히 제거되었습니다. 따라서 현재는 mysqli 확장 또는 PDO를 사용하는 것이 표준적인 방법입니다.

핵심 절차

  1. MySQL 서버에 연결 – 호스트, 사용자명, 비밀번호로 데이터베이스 연결을 생성합니다.
  2. 작업할 데이터베이스 선택 – 삭제할 테이블이 포함된 데이터베이스를 지정합니다.
  3. DROP TABLE 쿼리 실행 – 대상 테이블을 삭제합니다.
  4. 결과 확인 및 연결 종료 – 성공 여부를 출력하고 연결을 닫습니다.

예제 코드

다음 예제는 PHP 스크립트를 사용해 tutorials_tbl이라는 테이블을 삭제하는 전체 과정을 보여줍니다.

<html>
<head>
<title>MySQL 테이블 삭제</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';

// MySQL 서버에 연결
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn ) {
die('연결할 수 없습니다: ' . mysqli_connect_error());
}
echo '성공적으로 연결되었습니다<br />';

// 삭제할 테이블 지정
$sql = "DROP TABLE tutorials_tbl";

// 데이터베이스 선택 후 쿼리 실행
mysqli_select_db( $conn, 'TUTORIALS' );
$retval = mysqli_query( $conn, $sql );

if(! $retval ) {
die('테이블을 삭제할 수 없습니다: ' . mysqli_error($conn));
}
echo "테이블이 성공적으로 삭제되었습니다\n";

// 연결 종료
mysqli_close($conn);
?>
</body>
</html>

코드 설명

  • mysqli_connect() : 지정한 호스트와 계정 정보로 MySQL 서버에 연결합니다.
  • mysqli_select_db() : 쿼리를 실행할 데이터베이스(TUTORIALS)를 선택합니다.
  • mysqli_query() : DROP TABLE 문을 실행하여 테이블을 삭제합니다.
  • 오류 처리 : 각 단계가 실패하면 die()로 스크립트를 중단하고 오류 메시지를 출력합니다.

주의 사항

DROP TABLE은 테이블과 그 안의 모든 데이터를 영구적으로 삭제하며 되돌릴 수 없습니다. 실수로 인한 오류를 방지하려면 아래와 같이 IF EXISTS 옵션을 함께 사용하는 것이 좋습니다.

$sql = "DROP TABLE IF EXISTS tutorials_tbl";

이 옵션을 사용하면 존재하지 않는 테이블을 삭제하려 할 때 치명적인 오류 대신 경고만 발생하므로, 스크립트가 중단되지 않고 안전하게 실행됩니다.