MySQL « Очистить все талицы, типа truncate database

Можно ли очистить все таблицы базы данных одним запросом?

1 ответов


А почему не подходит truncate по каждой таблице?


>Можно ли очистить все таблицы базы данных одним запросом?
Нельзя. Но вы можете выбрать названия всех таблиц и пройтись в цикле по ним, вызывая TRUNCATE TABLE для каждой таблицы. Для mysql готового примера нет, для Oracle получается такой скриптик:


begin
  FOR i IN (SELECT TABLE_NAME FROM USER_TABLES)
  loop
    dbms_output.put_line('truncating '||i.TABLE_NAME);
    execute immediate 'TRUNCATE TABLE '||i.TABLE_NAME;
  end loop;
end;