반응형
MySQL에서 DROP 명령어는 데이터베이스, 테이블, 뷰(View), 인덱스(Index) 등 다양한 객체를 완전히 삭제할 때 사용됩니다. 삭제된 데이터는 복구가 불가능하므로 사용 시 주의가 필요합니다.
DROP DATABASE: 데이터베이스 삭제
DROP DATABASE 명령어는 데이터베이스와 그 안에 포함된 모든 테이블, 데이터, 뷰 등을 완전히 삭제합니다.
문법
DROP DATABASE 데이터베이스명;
예제
-- test_db 데이터베이스 삭제
DROP DATABASE test_db;
-- 데이터베이스가 존재하는 경우만 삭제
DROP DATABASE IF EXISTS test_db;
Tip: 데이터베이스를 삭제하기 전에 중요한 데이터는 반드시 백업하세요. 삭제 후에는 복구가 불가능합니다.
반응형
DROP TABLE: 테이블 삭제
테이블을 삭제할 때 DROP TABLE 명령어를 사용합니다. 테이블과 함께 모든 데이터와 구조가 제거됩니다.
문법
DROP TABLE 테이블명;
예제
-- users 테이블 삭제
DROP TABLE users;
-- 테이블이 존재하는 경우만 삭제
DROP TABLE IF EXISTS users;
다중 테이블 삭제
여러 테이블을 한 번에 삭제할 수도 있습니다.
DROP TABLE orders, products, customers;
DROP COLUMN: 컬럼 삭제
테이블에서 특정 컬럼만 삭제하려면 ALTER TABLE 명령어와 함께 사용해야 합니다.
문법
ALTER TABLE 테이블명
DROP COLUMN 컬럼명;
예제
-- users 테이블에서 age 컬럼 삭제
ALTER TABLE users
DROP COLUMN age;
DROP INDEX: 인덱스 삭제
테이블의 인덱스를 삭제하려면 DROP INDEX 명령어를 사용합니다. 인덱스 삭제는 데이터 검색 속도에 영향을 미칠 수 있습니다.
문법
DROP INDEX 인덱스명 ON 테이블명;
예제
-- users 테이블의 idx_email 인덱스 삭제
DROP INDEX idx_email ON users;
반응형
DROP VIEW: 뷰 삭제
뷰(View)는 가상 테이블로, 이를 삭제할 때는 DROP VIEW 명령어를 사용합니다.
문법
DROP VIEW 뷰명;
예제
-- user_summary 뷰 삭제
DROP VIEW user_summary;
-- 뷰가 존재하는 경우만 삭제
DROP VIEW IF EXISTS user_summary;
DROP PROCEDURE: 저장 프로시저 삭제
저장 프로시저를 삭제할 때 DROP PROCEDURE 명령어를 사용합니다.
문법
DROP PROCEDURE 프로시저명;
예제
-- get_user 프로시저 삭제
DROP PROCEDURE get_user;
-- 프로시저가 존재하는 경우만 삭제
DROP PROCEDURE IF EXISTS get_user;
DROP TRIGGER: 트리거 삭제
테이블에 설정된 트리거를 삭제하려면 DROP TRIGGER 명령어를 사용합니다.
문법
DROP TRIGGER 트리거명;
예제
-- before_insert 트리거 삭제
DROP TRIGGER before_insert;
-- 트리거가 존재하는 경우만 삭제
DROP TRIGGER IF EXISTS before_insert;
반응형
종합 예제: 다양한 DROP 명령어 활용
아래는 MySQL DROP 명령어를 다양한 데이터베이스 객체에 적용한 종합 예제입니다.
-- 1. 데이터베이스 삭제
DROP DATABASE company_db;
-- 2. 테이블 삭제
DROP TABLE employees;
-- 3. 컬럼 삭제
ALTER TABLE employees
DROP COLUMN salary;
-- 4. 인덱스 삭제
DROP INDEX idx_name ON employees;
-- 5. 뷰 삭제
DROP VIEW employee_summary;
-- 6. 저장 프로시저 삭제
DROP PROCEDURE calculate_bonus;
-- 7. 트리거 삭제
DROP TRIGGER before_update_salary;
DROP 명령어 사용 시 주의사항
- 백업 필수: DROP 명령어로 삭제된 데이터는 복구가 불가능하므로 삭제 전에 데이터를 백업하세요.
- 종속성 확인: 테이블이나 뷰를 삭제할 경우, 다른 객체에 의존성이 있을 수 있으므로 확인이 필요합니다.
- IF EXISTS 활용: 삭제 대상이 존재하지 않는 경우 에러를 방지하려면 IF EXISTS를 사용하세요.
참고
MySQL 공식 문서: https://dev.mysql.com/doc/refman/8.0/en/
반응형
'DB' 카테고리의 다른 글
[MySQL] SHOW 완벽 가이드 사용법(데이터베이스 정보 확인) (1) | 2024.12.25 |
---|---|
[MySQL] USE 완벽 가이드 사용법(데이터베이스 선택) (0) | 2024.12.23 |
[MySQL] RENAME 완벽 가이드 사용법(테이블명 변경) (0) | 2024.12.23 |
[MySQL] TRUNCATE 완벽 가이드 사용법(테이블의 모든 데이터 삭제) (0) | 2024.12.23 |
[MySQL] ALTER 완벽 가이드 사용법(테이블 수정) (0) | 2024.12.19 |
[MySQL] CREATE 완벽 가이드 사용법(데이터베이스와 테이블 생성) (1) | 2024.12.18 |
SQL LIKE 연산자 (0) | 2024.11.26 |
ORDER BY 특정 값으로 정렬 (0) | 2017.04.27 |