Tôi tin rằng bạn sẽ phải viết kịch bản bằng bất kỳ ngôn ngữ nào bạn thích nhất. Bạn có thể lấy danh sách các bảng trong lược đồ từ db information_schema, sau đó lặp lại chúng, cắt bớt bất kỳ bảng nào bạn cảm thấy thích.
Truy vấn sẽ giống như sau:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'test' AND table_name NOT IN ('table1', 'table2');
Chỉnh sửa :Đây là một ví dụ sử dụng Perl:
use strict;
use warnings;
use DBI;
my $dbh = DBI->connect("some_dsn");
my $sth = $dbh->prepare(q{SELECT table_name FROM information_schema.tables WHERE table_schema = 'test' AND table_name NOT IN ('table1', 'table2')});
$sth->execute();
$sth->bind_columns(\my $table_name);
while($sth->fetch) { $dbh->do(q{TRUNCATE TABLE } . $table_name) }