DROP TABLE
DROP TABLE은 테이블과 그 데이터 전체를 데이터베이스에서 제거해요.
출처: 문서
본문
테이블과 그 데이터, 인덱스, 트리거, 제약 전부를 데이터베이스에서 제거해요.
문법
DROP TABLE [IF EXISTS] [schema-name.]table-name;
설명
DROP TABLE은 테이블 정의와 테이블에 저장된 모든 데이터를 영구적으로 제거해요. 테이블과 연관된 모든 인덱스, 트리거, 제약도 함께 제거돼요.
매개변수
| 매개변수 | 설명 |
|---|---|
IF EXISTS |
테이블이 존재하지 않을 때 오류를 막아줘요. 테이블이 없으면 문은 아무 것도 하지 않아요. |
schema-name |
테이블이 들어 있는 붙은(attached) 데이터베이스 이름. 생략하면 main 데이터베이스 |
table-name |
삭제할 테이블 이름. |
동작
- 테이블의 모든 행이 삭제돼요.
- 테이블 위에 만들어진 모든 인덱스가 제거돼요.
- 테이블과 연관된 모든 트리거가 제거돼요.
- 테이블 항목이
sqlite_schema시스템 테이블에서 제거돼요. - 외래 키 제약이 삭제되는 테이블을 참조하면, 그 참조는 무효가 돼요. Turso는 다른 테이블의 외래 키가 참조하는 테이블을 삭제하는 걸 막지 않아요.
- 같은 연결의 다른 문이 그 테이블을 읽거나 쓰는 동안에는
DROP TABLE이 허용되지 않아요.
예제
테이블 삭제하기
DROP TABLE users;
존재할 때만 테이블 삭제하기
DROP TABLE IF EXISTS temporary_results;
붙은 데이터베이스에서 테이블 삭제하기
DROP TABLE aux.sessions;
더 알아보기 (Learn more)
- CREATE TABLE - 테이블 만들기
- ALTER TABLE - 테이블 수정하기
- DELETE - 테이블을 삭제하지 않고 행만 제거하기