Обычно я открываю Terminal.app и подключаюсь к удаленной базе данных MySQL.
Затем я использую эту команду, чтобы удалить таблицу:
mysql> drop table [table name];
Но мне нужна командная строка для удаления всех таблиц в базе данных.
Если я использую:
mysql> drop database [database name];
Я полностью уничтожу базу данных и больше не смогу создавать таблицы. Я прав?
command-line
terminal
mysql
chefnelone
источник
источник
Ответы:
Вы можете удалить базу данных и сразу же восстановить ее:
Или вы можете использовать скрипт для удаления каждой таблицы в базе данных.
источник
Вы можете попробовать следующую команду:
Или:
Где
DB_NAME
ваше имя базы данных. Учетные данные базы данных можно указывать либо в~/.my.cnf
команде, либо добавляя их в команду (например-uroot -proot
).Этот метод имеет некоторые преимущества по сравнению с удалением и созданием базы данных в случае, если у пользователя базы данных нет разрешения на ее удаление.
источник
--silent
и-v
/--verbose
соответственно, например:--user=username --password=password --host=host.name
| sort -r
к обратной линии, но все еще не совместим некоторые БД.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
источник