Roel Notebook

[SQL] table 일괄 삭제 하기

by Roel Downey

DB

728x90
반응형

[Mysql]

SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
  FROM information_schema.tables
  WHERE table_schema = 'DB이름 여기에 입력'; -- specify DB name here.

SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

 

특정 DB 내에 모든 테이블을 모두 삭제해버리고 싶을 때에는 (DB는 지우지 않은체로) 위 내용을 먼저 복사한다. 'DB이름 여기에 입력' 부분에 삭제해야할 테이블이 있는 DB명을 입력 한다.

해당 내용을 실행시킨다.

 

[오라클]

SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS;' FROM user_tables;

위의 query를 실행하면 모든 테이블의 DROP문을 받아올 수 있다.

- CASCADE CONSTRAINTS옵션은 종속된 제약조건을 삭제함

 

DROP tablename1 FROM USER;

DROP tablename2 FROM USER;

DROP tablename3 FROM USER;

DROP tablename4 FROM USER;

DROP tablename5 FROM USER;

 

결과를 복사해서 실행 하면 된다!

 

 

728x90
반응형

블로그의 정보

What doing?

Roel Downey

활동하기