Главная » OpenSource базы данных » MySQL » Удаление всех таблиц из базы MySQL

📑 Удаление всех таблиц из базы MySQL

Честно говоря, вопросы типа «как из консоли, одной командой удалить все таблицы из базы MySQL» иногда ставят в тупик: а зачем? Специальной команды или программы в пакете MySQL на этот случай нет, так как она бессмысленна: можно прекрасно выполнить две команды:

$ mysql -u[username] -p[password] -e "drop database [database]"

и

$ mysql -u[username] -p[password] -e "create database [database]"

База удалится и создастся с пользователем user. (Этот пример не совсем корректен — сразу же получите предупреждение

Warning: Using a password on the command line interface can be insecure.

И это правильно — не стоит использовать пароли в командной строке: они остаются в буфере).

Особо ленивым и часто использующим эту конструкцию можно быстренько написать скриптик, объединяющий эти две команды и запрашивающий пароль.

Впрочем на просторах интернета гуляют еще два варианта решения этой задачи:

mysql --silent --skip-column-names -u[USERNAME] -p[PASSWORD] [DATABASE] -e "show tables" | gawk '{print "drop table " $1 ";"}' | mysql -u [USERNAME] -p[PASSWORD] [DATABASE]

и

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

Чем они лучше — не представляю, на любителя. Но букв точно набирать больше.

При перепечатке просьба вставлять активные ссылки на oslogic.ru
Copyright oslogic.ru © 2024 . All Rights Reserved.