일반적으로 Terminal.app을 열고 원격 MySQL 데이터베이스에 연결합니다.
그런 다음이 명령을 사용하여 테이블을 삭제합니다.
mysql> drop table [table name];
그러나 필요한 것은 데이터베이스의 모든 테이블을 삭제하는 명령 줄입니다.
내가 사용하는 경우 :
mysql> drop database [database name];
데이터베이스를 완전히 파괴하면 테이블을 다시 만들 수 없습니다. 내가 맞아?
답변
데이터베이스를 삭제 한 후 즉시 다시 작성할 수 있습니다.
mysql> drop database [database name];
mysql> create database [database name];
또는 스크립트를 사용하여 데이터베이스에서 각 테이블을 삭제 (drop) 할 수 있습니다.
답변
다음 명령을 시도 할 수 있습니다.
mysqldump --no-data --add-drop-table DB_NAME | grep ^DROP | mysql -v DB_NAME
또는:
mysql --silent --skip-column-names -e "SHOW TABLES" DB_NAME | xargs -L1 -I% echo 'DROP TABLE `%`;' | mysql -v DB_NAME
DB_NAME
데이터베이스 이름은 어디에 있습니까 ? 데이터베이스 자격 증명을 지정하거나 ~/.my.cnf
명령에 추가 할 수 있습니다 (예 🙂 -uroot -proot
.
이 방법은 데이터베이스 사용자에게 데이터베이스를 삭제할 권한이없는 경우 데이터베이스를 삭제하고 작성하는 것보다 몇 가지 장점이 있습니다.
답변
mysql -u USERHERE -pPASSWORDHERE --silent --skip-column-names -e "SHOW TABLES" DATABASENAMEHERE | xargs -L1 -I% echo 'SET FOREIGN_KEY_CHECKS = 0; DROP TABLE
%;' | mysql -u USERHERE -pPASSWORDHERE -v DATABASENAMEHERE