Eyes, JAPAN Blog > スプレッドシートをSQLエディタとして使う

スプレッドシートをSQLエディタとして使う

shimizu

この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。

運用中のシステムに対して、マスター項目のまとまった変更を行う場面がしばしばあります。
例えば、既存の利用者名簿に対して、部署の変更依頼を受けたとします。変更内容として次のようなExcelファイルが送られてきました。

20131114_01

理想的なのはCSV形式などに保存したデータを受け付けるインポート機能を用意することですが、そこまでするほどではないワンオフな作業の場合、しかもすべて手動で入力するには数が多い場合は、その場でSQL文を生成してしまう方法があります。

では、やってみましょう。利用者名簿のテーブルは、このような内容であるとします。
(説明を簡単にするために、部署は文字列としています)

CREATE TABLE users (
  id INTEGER,
  name TEXT,
  department TEXT
);

スプレッドシート上で、2行目のデータの右側の列(例えばE2)に以下の数式を入力します。そして、このセルを縦方向にすべての行(ここではE3〜E6)にコピー&ペーストします。

="UPDATE users SET department='"&B2&"' WHERE id="&A2&";"

そうすると、画面は次のようになります。

20131114_02

これでE列にデータ更新用のSQL文が生成されましたので、後はコマンドラインに貼り付けたり、SQLファイルに保存して流し込めば変更を適用できます。

今回の例では1行につき1カラムを更新するだけの簡単な内容でしたが、複数の列を更新する場合は適宜SET節に追加してください。
以上、スプレッドシートをSQLエディタとして使う方法でした。

Comments are closed.