mysqlで複数のデータベースを操作

Tomoumi Nishimura 32views 更新:2016年6月30日

MySQLで複数のデータベースに同一の操作をしたいと思ったのですが、それっぽいサンプルが見つからなかったので適当に書いてみました。

#!/bin/sh

foreachtable() {
dbs=`echo 'show databases' | mysql ${@:2} | sed 1d`

for db in $dbs; do
  echo $1 | mysql ${@:2} $db
done
}

構文としては、以下のようなものを想定しています。

foreachtable ${query} ${options}

パスワードいちいち入力するのが面倒ですが、例えば

foreachtable 'select tables' -uhogeuser -p

みたいな感じにして使えます。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません