728x90
복수개의 TABLE을 지우기 위해
하나하나 drop table [TABLE명]을 실행시키고 있을 순 없다.
TABLE이 몇십개, 혹은 몇백개라면……………
예 )
MD_TABLE1;
MD_TABLE2
MD_TABLE3;
MD_TABLE4;
MD_TABLE5;
………중략
복수개의 TABLE을 동시에 지우기 위해서
select 'drop table '||table_name||';' from user_tables where table_name like 'MD_%';
다음과 같이 중복되는 부분의 TABLE 명 일부분을 like절에 넣고
select문에 drop 쿼리문을 결합시켜 뽑아낸다.
아래는 excute가 되기때에.. 바로 삭제됨.
drop table * 또는 all 이렇게 해서 지워지면 좋겠지만 안되는 방법이니 다른 방법을 써야 합니다.
Mysql 에서 데이터베스는 놔두고 테이블만을 일괄 적으로 삭제할때 사용하기 좋은 방법입니다.
myslq 에서 접속을 하고 난 후 실행 하시면 됩니다.
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;
728x90
'MSSQL' 카테고리의 다른 글
mssql-테이블 복사 신규생성복사 컬럼복사 (1) | 2013.12.05 |
---|---|
SELECT 와 INSERT 동시 처리 (0) | 2013.10.17 |