반응형


오늘은 데이터베이스의 모든 테이블을 삭제하는 방법을 알아 볼까해요.ㅎㅎ
데이터베이스는 많이 만져보지 못해서 아직도 어려워요 ㅜㅜ

아래와 같이 DBNAME 부분에 DB명을 넣으시고 실행해주시면 됩니다.
이쿼리 내용은 

1. tables라는 변수를 생성
2. information_schema DB의 tables라는 테이블을 DB명을 조건을 걸어 조회하여 나오는 텍스트를 tables라는 변수에 넣어요.
3. 그리고나서는 tables 변수를 DROP TABEL @tables로 다시 가공한 후에
4. PREPARE 와 EXCUTE를 사용하여 실행을 하는거라고 생각합니다..ㅎㅎ(자신이없는건 비밀)

db에서 변수를 사용하고 프로그래밍을 하는건 한번도 해본적이없어서
익숙하지가 않아요ㅎㅎㅎ
혹시 틀린점 있으면 댓글 달아주세요 ! 
감사합니다 ^^





SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
FROM information_schema.tables
WHERE table_schema = 'DBNAME'; -- specify DB name here.

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


반응형

+ Recent posts