多数の似たようなSQLを実行したい場合pythonでSQLを出力するといい

多くの似たようなSQLを発行したい場合、例えばプログラムのfor文で回せば処理できるような場合どうすればいいか。一般にSQLはfor文はないから、pythonなどでスクリプトを書くのもいいかもしれない。がスクリプトでDBを開いてとか書くのが面倒。そこでpythonでSQLだけを出力して、それを実行してしまえばいい。

jupyter

こういうときのちょっとしたpythonスクリプトを書くにはjupyterが便利。
まずは1個のSQLをpythonのprintで出力してみる

次にfor文で回す。SQLはformatで置換する。

文字列中の{0:03}はformat引数の0番目の値を3桁で0で埋めることを指定している。これを実行すると以下のようなSQLが得られる。

あとはこれはphpMyAdminにコピペしたり、mysqlに直接流し込んでもいいかもしれない。DBの変更は間違うと大変なのでよくチェックしてから行おう。