삭제
DROP TABLE MENU ;
DROP TABLE MENU CASCADE CONSTRAINT ;
TRUNCATE TABLE MENU ;
DELETE MENU;
DELETE FROM MENU (WHERE name = ‘연어스시’) ;
DELETE
- 이 명령은 테이블의 특정 레코드(행)을 제거한다.
- WHERE 절을 사용하여 삭제할 레코드를 지정할 수 있다.
- DELETE는 각 레코드를 개별적으로 처리하므로 실행이 비교적 느리며, 트랜잭션 로그에 기록되며, ROLLBACK이 가능하다.
DELETE FROM employees WHERE employee_id = 100;
TRUNCATE
- 테이블 초기화 명령어
- 테이블의 모든 레코드를 한 번에 제거한다.
- WHERE 절을 사용할 수 없으며, TRUNCATE는 테이블의 데이터만 삭제하고 테이블 구조는 그대로 유지한다.
- TRUNCATE는 빠르게 실행되지만, 기본적으로 트랜잭션 로그에 기록되지 않고, ROLLBACK이 불가능하다. (이는 DBMS에 따라 다를 수 있음)
TRUNCATE TABLE employees;
DROP
- 테이블 자체를 완전히 제거한다.
- 테이블의 데이터뿐만 아니라 구조(스키마), 인덱스, 트리거, 제약 조건 등도 모두 삭제한다.
- DROP 명령은 ROLLBACK이 불가능하다.
DROP TABLE employees;