반응형
명령 프롬프트를 사용하여 Windows MySQL의 모든 테이블을 삭제하려면 어떻게합니까? 이 작업을 수행하려는 이유는 사용자가 데이터베이스 삭제에 액세스 할 수 있지만 데이터베이스 자체를 다시 만들 수있는 액세스 권한이 없기 때문입니다. 따라서 수동으로 테이블을 삭제해야합니다. 한 번에 모든 테이블을 삭제하는 방법이 있습니까? 대부분의 테이블은 외래 키와 연결되어 있으므로 특정 순서로 삭제해야합니다.
해결 방법
다음과 같은 문을 생성 할 수 있습니다. DROP TABLE t1, t2, t3, ...
그런 다음 준비된 문을 사용하여 실행할 수 있습니다.
SET FOREIGN_KEY_CHECKS = 0;
SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_schema, '`.`', table_name, '`') INTO @tables
FROM information_schema.tables
WHERE table_schema = 'database_name'; -- specify DB name here.
SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;
참조 페이지 https://stackoverflow.com/questions/12403662
반응형
'MySql' 카테고리의 다른 글
MySQL 내 SQL 데이터베이스에 일대 다 관계를 저장하는 방법은 무엇입니까? (MySQL) (0) | 2021.01.29 |
---|---|
MySQL 여러 값을 얻기위한 Django MySQL 고유 쿼리 (0) | 2021.01.29 |
MySQL PHP를 사용하여 무제한 열 수에 대해 MySQL 테이블에서 모든 필드 선택 및 표시 (0) | 2021.01.29 |
MySQL java를 사용하여 mysql의 특정 데이터베이스가 이미 존재하는지 확인하는 방법 (0) | 2021.01.29 |
MySQL : 데이터 infile로드 (0) | 2021.01.29 |
댓글