본문 바로가기
WIKI 기술 지식 베이스

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)