MySQL. очистить все таблицы базы данных
Иногда требуется очистить все таблицы базы данных от значений, не повредив при этом структуры. В MySQL нет такой команды TRUNCATE DATABASE
. Можно в ручную выполнить TRUNCATE TABLE
для всех таблиц, однако, когда таблиц много - пора задуматься об автоматизации. В качестве решения можно использовать такую команду:
mysql -uUSER -pPASS DATABASE -e "show tables" | grep -v Tables_in | grep -v "+" | gawk '{print "TRUNCATE TABLE `" $1 "`;"}' | mysql -uUSER -pPASS DATABASE
(при этом заменив USER
, PASS
, DATABASE
на свои значения).