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

Python MySQL로 데이터베이스 테이블 삭제하기 – DROP TABLE 완벽 가이드

데이터베이스에서 테이블을 삭제해야 하는 이유

데이터베이스를 운영하다 보면 때때로 테이블 전체를 삭제해야 하는 상황이 발생합니다. 더 이상 필요하지 않은 데이터를 데이터베이스에 그대로 두는 것은 저장 공간의 낭비입니다. 예를 들어, 데이터베이스에 "Employees(직원)"라는 테이블이 있는데 어떤 이유로 인해 이 테이블이 더 이상 필요하지 않다면, 쓸모없는 테이블을 과감히 삭제하는 것이 좋습니다.

테이블 삭제는 DROP TABLE 명령어를 사용하며, 이 명령은 데이터베이스에서 해당 테이블 전체를 제거합니다.

DROP TABLE 기본 문법

DROP TABLE table_name

여기서 table_name은 삭제하고자 하는 테이블의 이름을 의미합니다.

Python으로 MySQL 테이블을 삭제하는 단계

  • MySQL 커넥터(mysql.connector) 모듈 임포트
  • connect() 메서드로 데이터베이스 연결 설정
  • cursor() 메서드로 커서 객체 생성
  • 적절한 SQL 문을 사용해 쿼리 작성
  • execute() 메서드로 SQL 쿼리 실행
  • 작업 완료 후 연결 종료(close)

예제 코드

데이터베이스에 "Employees"라는 테이블이 있고, 이 테이블을 삭제하고 싶다고 가정해 보겠습니다.

import mysql.connector

db = mysql.connector.connect(
host="your host",
user="your username",
password="your password",
database="database_name"
)

cursor = db.cursor()

query = "DROP TABLE Employees"
cursor.execute(query)
print("TABLE DROPPED..")
db.close()

위 코드를 오류 없이 실행하면 데이터베이스에서 "Employees" 테이블이 삭제됩니다. 삭제가 정상적으로 처리되었는지는 "SHOW TABLES" 문을 실행해 확인할 수 있습니다.

실행 결과

TABLE DROPPED..

팁: DROP TABLE IF EXISTS 활용하기

삭제하려는 테이블이 실제로 존재하지 않으면 DROP TABLE 문은 오류를 발생시킵니다. 이런 상황을 방지하려면 아래와 같이 IF EXISTS 옵션을 함께 사용하는 것이 안전합니다.

DROP TABLE IF EXISTS table_name

주의 사항: DELETE와 DROP의 차이

DELETE 문과 DROP 문을 같은 것으로 혼동해서는 안 됩니다. DELETE 명령으로도 테이블의 모든 레코드를 삭제할 수 있지만, 두 문장에는 분명한 차이가 있습니다. DELETE 문은 테이블의 모든 행(row)만 삭제할 뿐 테이블 정의(구조)는 그대로 유지됩니다. 반면 DROP 명령은 테이블 자체와 테이블 스키마까지 완전히 삭제한다는 점에서 큰 차이가 있습니다.