end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

mysqlでshow tables not like '〜' のように書きたい... grep -v で代用

http://dev.mysql.com/doc/refman/5.1/ja/show-tables.html
mysqlのドキュメントを読むと、show tables は、「not like 」に対応していないように見えます。
実際、sqlを実行すると、次のようなエラーとなります。

mysql> show tables not like 'tokyo_%';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'not like 'tokyo_%'' at line 1

しょうがないので、grep -v で代用します。

$ /usr/local/mysql/bin/mysql -u root sing -e 'show tables' | grep -v "tokyo"
Tables_in_sing
osaka_delivery_date_note
osaka_delivery_houhou
osaka_delivery
   :

2014-03-03追記 しょうがなくなかった...

id:mapk0y さんによれば、次のように書けば、OKでした。
ありがとうございます。

select table_name
from information_schema.tables
where table_schema='$DB_NAME' and
      table_name not like 'tokyo_%';