Excelを使ってSQLのINSERT文を作成してみる記事です。
Excelの機能を使うことで、効率良く大量のINSERT文やUPDATE文等を作成できます。
臨時の運用対応ではデータが公表されてから30分以内にDBに反映させなければならない等、限られた時間でのデータ補正が必要になるため、プログラムを事前に用意できない場合はExcelでの対応が有効になります。
運用対応だけでなく、開発時のテストデータ作成も効率的に行うことができます。
以下は例となります。
【INSERT対象のテーブル定義】
create table 商品(
商品ID INT PRIMARY KEY,
商品名 CHAR(30),
登録年月日時分秒 CHAR(14)
);
【INSERT文の作成】
①下記のように入力する。
G2セルについては、下記の式を入力する。
=A$2&"000000"
この式によりA2セルと文字列"000000"を結合する。
参照時には$マークをつけて絶対参照とする。
(後の手順でコピーする時に参照先がずれないようにするため)
②B2~H2セルを3~6行目にコピーする。
③C3セルに2を入力してから、C2~C3セルを選択し、4~6行目までオートフィルする。
④B2~H6セルをコピーし、Sakuraエディタ等のテキストエディタに張り付ける。
⑤セルを区切るtabを削除する。
【完成したINSERT文】
INSERT INTO 商品 VALUES(1,'hoge ',20180808000000);
INSERT INTO 商品 VALUES(2,'hoge ',20180808000000);
INSERT INTO 商品 VALUES(3,'hoge ',20180808000000);
INSERT INTO 商品 VALUES(4,'hoge ',20180808000000);
INSERT INTO 商品 VALUES(5,'hoge ',20180808000000);
--------------------
なお、今回紹介していない機能としては、区切り位置、重複の排除、並び替えとフィルタ等を良く使います。
これらの機能を使えばフォーマット変換やデータ抽出等も可能になります。