본문 바로가기
MySql

MySQL 테이블이 좋아하는 MySQL 대량 삭제 테이블?

by 베이스 공부 2021. 2. 7.
반응형
DROP TABLE (
SELECT table_name
FROM information_schema.`TABLES`
WHERE table_schema = 'myDatabase' AND table_name LIKE BINARY 'del%');

나는 이것이 작동하지 않는다는 것을 압니다! SQL에서 이와 같은 것에 해당하는 것은 무엇입니까? 이 작업을 수행하기 위해 간단한 Python 스크립트를 작성할 수 있지만 SQL로 직접 작업을 수행 할 수 있는지 궁금합니다. MySQL을 사용하고 있습니다. 감사합니다!

 

해결 방법

 


SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_schema, '`.`', table_name,'`') INTO @tables FROM information_schema.tables 
  WHERE table_schema = 'myDatabase' AND table_name LIKE BINARY 'del%';

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

다음과 같은 명령문을 생성하고 실행합니다.

DROP TABLE myDatabase.del1, myDatabase.del2, myDatabase.del3;

 

참조 페이지 https://stackoverflow.com/questions/11053116

 

 

반응형

댓글