旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【MySQL】 データベース内のテーブルを全てTRUNCATE

たまにありますよね。 phpMyAdminとか使えば簡単かもしれないんですけど データベース内に数百というテーブルが存在していて、これ全部Truncateかけたいんだけど。。。

show tablesでテーブルリスト作ってそこにtruncateを入れて動かす。 そんなんでもいいんですが、1ライナーでさくっと消してやりましょう。

mysql -u[user] -p[password] [database name] -N -e  'show tables' | xargs -IARG mysql -u[user] -p[password] -e 'truncate table ARG' [database name]

上に書いてある通りです。 show tablesで出てくる各テーブルに対してtruncateつけて実行しているだけです。 これで指定したデータベース内は全てtruncateされます。

あぁ、すっきり。