PHP에서는 mysql_query 함수를 사용하여 기존에 존재하는 MySQL 데이터베이스를 삭제할 수 있습니다. 데이터베이스를 삭제하려면 SQL 문으로 DROP DATABASE 명령을 실행하면 되며, 이 작업은 해당 데이터베이스와 그 안의 모든 테이블 및 데이터를 영구적으로 제거하므로 주의해서 사용해야 합니다.
예제
다음 예제는 PHP 스크립트를 사용하여 'TUTORIALS'라는 이름의 데이터베이스를 삭제하는 과정을 보여줍니다.
<html>
<head>
<title>MySQL 데이터베이스 삭제</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('연결할 수 없습니다: ' . mysql_error());
}
echo '성공적으로 연결되었습니다<br />';
$sql = 'DROP DATABASE TUTORIALS';
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('데이터베이스를 삭제할 수 없습니다: ' . mysql_error());
}
echo "TUTORIALS 데이터베이스가 성공적으로 삭제되었습니다\n";
mysql_close($conn);
?>
</body>
</html>코드 설명
위 코드의 동작 순서는 다음과 같습니다.
1. 데이터베이스 연결: mysql_connect() 함수를 사용하여 호스트, 사용자 이름, 비밀번호를 기반으로 MySQL 서버에 연결합니다. 연결에 실패하면 die() 함수가 오류 메시지와 함께 스크립트 실행을 중단합니다.
2. DROP DATABASE 쿼리 실행: DROP DATABASE TUTORIALS라는 SQL 문을 작성한 뒤, mysql_query() 함수로 실행합니다. 이 명령이 성공하면 해당 데이터베이스와 내부의 모든 데이터가 완전히 삭제됩니다.
3. 결과 확인 및 연결 종료: 쿼리 실행 결과를 확인하여 실패 시 오류 메시지를 출력하고, 성공 시 완료 메시지를 출력한 후 mysql_close() 함수로 연결을 닫습니다.
참고 사항
mysql_* 계열 함수는 PHP 5.5부터 지원 중단(deprecated)되었으며, PHP 7에서는 완전히 제거되었습니다. 따라서 최신 환경에서는 mysqli 확장 또는 PDO(PHP Data Objects)를 사용하는 것이 좋습니다. 예를 들어 mysqli 방식에서는 다음과 같이 작성할 수 있습니다.
<?php
$conn = new mysqli('localhost', 'root', 'rootpassword');
if ($conn->connect_error) {
die('연결 실패: ' . $conn->connect_error);
}
if ($conn->query('DROP DATABASE TUTORIALS') === TRUE) {
echo "데이터베이스가 성공적으로 삭제되었습니다";
} else {
echo "삭제 오류: " . $conn->error;
}
$conn->close();
?>또한 DROP DATABASE는 복구할 수 없는 작업이므로, 실제 운영 환경에서는 반드시 백업을 먼저 수행한 뒤 실행하는 것이 안전합니다.