sql >> データベース >  >> RDS >> Mysql

MySQLスキーマのほとんどのテーブルを切り捨てる方法はありますか?

    私はあなたがあなたが最も好きな言語でスクリプトを書かなければならないと信じています。 information_schema dbからスキーマ内のテーブルのリストを取得し、それらを反復処理して、必要に応じて切り捨てることができます。

    クエリは次のようになります:

    SELECT table_name FROM information_schema.tables WHERE table_schema = 'test' AND table_name NOT IN ('table1', 'table2');
    

    編集 :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) }
    


    1. postgrespsqlselectステートメントのデフォルトでの表示の切り捨て

    2. PDOと挿入中の複数の値セットのバインド-最近

    3. JBossログPostgresドライバーはJDBCに準拠していません

    4. MYSQLINキーワードがNULL値を考慮しない理由