Intereting Posts
file_get_contents не работает на производственном сервере, отлично работает на локальном Локальная страница не работает. Localhost перенаправляет вас слишком много раз. Laravel 5.3 PHP и инкапсуляция строк MySQL в массив JSON Перенаправление на предыдущую страницу после входа в систему с помощью PHP Получить путь от данных списка смежности PHP file_exists с акцентом возвращает false Почему запросы отправки php5-fpm медленны, в то время как тот же php-cli-код / ​​консольный завиток работает очень быстро? Есть ли способ узнать переменные POST, не зная их имен? Убить Active Session, если пользователь заблокирован Эффективно подсчитывает количество строк текстового файла. (200mb +) Могу ли я хранить изображения в MySQL Woocommerce Получить заказы на странице благодарности и передать данные javascript-фрагмент Как фильтровать массив по условию Случайное число в диапазоне с использованием PHP Как я могу использовать регулярные выражения с OOD Mongodb Doctrine?

Пустая база данных в MySQL и PHP?

Можно ли очистить всю базу данных, подключившись к ней с помощью PHP и предоставив команду?

Solutions Collecting From Web of "Пустая база данных в MySQL и PHP?"

Самый простой способ сделать это, если у вас есть привилегии, это:

 DROP DATABASE dbName;
 CREATE DATABASE dbName;
 ИСПОЛЬЗОВАНИЕ DATABASE dbName;

Альтернативой является запрос базы данных information_schema для триггеров, хранимых процедур (процедур и функций), таблиц, представлений и, возможно, что-то еще, и их индивидуального удаления.

Даже после этого ваша база данных может все еще находиться не в том же состоянии, что и вновь созданная, поскольку она может иметь настраиваемый набор символов и набор настроек. Используйте ALTER DATABASE чтобы изменить это.

По мере добавления функций (событий …) у вас будет все больше и больше работы. Таким образом, единственный способ полностью очистить базу данных – это удалить ее и заново создать.

Вы можете получить имена таблиц с помощью

 SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db' 

И сделайте усечение,

даже, вы можете сделать

 SELECT 'TRUNCATE TABLE ' + table_name + ';' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your db' 

И затем повторите набор результатов, выполняющий строковый запрос для каждой записи.

Вы можете получить список всех таблиц в базе данных ( $databaseName ), просмотреть их все и применить TRUNCATE TABLE к каждому.

 $result = mysqli_query($link, "SHOW TABLES IN `$databaseName`"); while ($table = mysqli_fetch_array($result)) { $tableName = $table[0]; mysqli_query($link, "TRUNCATE TABLE `$databaseName`.`$tableName`"); if (mysqli_errno($link)) echo mysqli_errno($link) . ' ' . mysqli_error($link); else echo "$tableName was cleared<br>"; } 

Это очищает содержимое всех таблиц в базе данных, сохраняя структуру.

Да. В принципе, вам нужно получить список всех таблиц в базе данных, затем перебрать этот список и выдать имя таблицы TRUNCATE TABLE $tablename для каждой записи.

Это выглядит довольно прилично: усечь все таблицы в базе данных MySQL

Это сработало для меня.

 mysql -u < DB-USER > -p<DB-PASS> --silent --skip-column-names -e "SHOW TABLES" <DB-NAME> | xargs -L1 -I% echo 'DROP TABLE `%`;' | mysql -u < DB-USER > -p< DB-PASS > -v < DB-NAME >