PHP에서 MySQL 데이터베이스를 삭제할 때는 mysql_query 함수를 사용합니다. 이 함수는 두 개의 매개변수를 받으며, 쿼리 실행에 성공하면 TRUE, 실패하면 FALSE를 반환합니다.
문법(Syntax)
bool mysql_query( sql, connection );
각 매개변수의 의미는 다음과 같습니다.
| 번호 | 매개변수 및 설명 |
|---|---|
| 1 | 필수(Required) MySQL 데이터베이스를 삭제하는 SQL 쿼리입니다. 일반적으로 DROP DATABASE 데이터베이스명; 형태로 작성합니다. |
| 2 | 선택(Optional) 사용할 MySQL 연결(connection)을 지정합니다. 이 값을 생략하면 mysql_connect()가 가장 마지막에 연결한 연결이 자동으로 사용됩니다. |
사용 예제
다음은 mysql_query()를 사용해 데이터베이스를 삭제하는 기본적인 예제입니다.
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (! $conn) {
die('MySQL 연결에 실패했습니다: ' . mysql_error());
}
$sql = 'DROP DATABASE test_db';
$retval = mysql_query($sql, $conn);
if (! $retval) {
die('데이터베이스 삭제에 실패했습니다: ' . mysql_error());
}
echo "데이터베이스가 성공적으로 삭제되었습니다.";
mysql_close($conn);
?>
주의: 지원 중단(Deprecated)된 함수
mysql_query()는 PHP 5.5부터 공식적으로 지원이 중단되었으며, PHP 7.0부터는 완전히 제거되었습니다. 따라서 최신 환경에서는 아래와 같은 대체 방법을 사용해야 합니다.
- mysqli 확장:
mysqli_query($conn, $sql)형태로 절차적(procedural) 또는 객체지향 방식 모두 사용 가능합니다. - PDO(PHP Data Objects):
$pdo->exec("DROP DATABASE test_db")처럼 다양한 데이터베이스를 지원하는 객체지향 인터페이스를 제공합니다.
또한 DROP DATABASE 문은 해당 데이터베이스와 그 안의 모든 테이블·데이터를 영구적으로 삭제하므로, 실행 전 반드시 백업 여부를 확인하고 운영 환경에서는 신중하게 사용해야 합니다.