테이블 삭제
생성한 테이블을 삭제할 수 있습니다. DROP TABLE 쿼리 명령을 통하여 기존에 존재하 는 테이블을 삭제합니다.
| 쿼리 문법 |
DROP TABLES 테이블명;
여러 개의 테이블을 삭제할 수도 있습니다.
| 쿼리 문법 |
DROP TABLE 테이블1, 테이블2;
테이블을 삭제할 때는 주의해야 합니다. 테이블을 삭제하게 되면 테이블 안에 있는 모든 데이터가 삭제됩니다. 또한 삭제된 데이터는 복구가 불가능하기 때문에 매우 신중해야 합 니다.
테이블 삭제 또한 데이터베이스 삭제에서 사용했던 IF EXISTS를 같이 사용할 수 있습 니다. 테이블이 존재하는 경우에만 삭제가 됩니다.
| 쿼리 문법 |
DROP TABLE IF EXISTS 테이블명;
또는 여러 개의 테이블을 한 번에 삭제할 수도 있습니다. 테이블명을 콤마 (,)로 구분하여 입력하면 됩니다.
| 쿼리 문법 |
DROP TABLE IF EXISTS 테이블1, 테이블2;
삭제 실습
쿼리 명령을 전송하여 테이블을 삭제해 봅니다.
| 예제 쿼리 |
DROP TABLES members;
| 콘솔 실습 화면 |
mysql> DROP TABLES members; Query OK, 0 rows affected (0.01 sec)
mysql> show tables; Empty set (0.00 sec)
기존에 생성되어 있는 members
테이블을 drop
명령어를 통하여 삭제가 성공되었다는 메시지를 확인할 수 있습니다.
PHP 코드
PHP를 통하여 테이블을 삭제하는 메서드를 만들어 봅니다. 테이블을 삭제할 경우 데이 터도 함께 삭제되는 위험이 있습니다. 만일, 안전한 삭제 코드를 만든다고 한다면 삭제하 기 전에 데이터가 있지는 확인하는 루틴을 하나 더 삽입해도 좋을 것입니다.
| PHP 예제 | mysql.class.php 파일에 메서드 예제를 추가합니다.
public function dropTable($tbname)
{
if ($tbname) {
$queryString = "DROP TABLES $tbname;";
$this->msgEcho($queryString);
// 쿼리를 전송합니다.
if (mysqli_query($this->dbcon, $queryString)=== TRUE) {
$this->msgEcho("쿼리성공] ".$queryString);
$this->msgEcho(" 테이블 삭제!");
// 객체 반환, 매서드체인
return $this;
} else {
$this->msgEcho("Error] ".$queryString);
}
} else {
$this->msgEcho("Error] 테이블 이름이 없습니다.");
}
}
예제 파일 | sql-14.php
<?php
include "dbinfo.php";
include "mysql.class.php";
// ++ Mysqli DB 연결.
$db = new JinyMysql();
// 데이터베이스 삭제합니다.
$tbname = "members123";
$db->dropTable($tbname);
?>
화면 출력
mysql connected!
DROP TABLES members123;
쿼리성공] DROP TABLES members123;
테이블 삭제!