複数のINSERT文をEXCELで効率的に作成!
こんにちは。現役社内SE(システムエンジニア)のsakanaです。
この記事ではSQLで複数のINSERT文やUPDATE分を作る際にEXCELを利用して効率的に作成する方法を解説します。
「テストデータ(複数・大量)をテーブルにINSERTしておいて」なんて言われて、未経験・新人ITエンジニアのあなたはどうしますか?
大量のデータに対してひとつづつ真心込めたSQL文を手作りしますか?
わたしは真心を込めた手作業の結果、大量データによって作成に時間が掛かるだけでなく、記述のミスなどが発生し、SQL文作成で丸一日かけたりしていました。。。
複数のINSERT文を作成する際はEXCELを使って効率的に作成することができます!
また、こちらの記事の内容を応用すればINSERT文以外のSQLの作成も効率化できるので、良かったら見てみてください!
真心がなくても正しい記述をすればSQLはちゃんと動いてくれますので、より早く正確に記述できる方法を学んでいきましょう!
EXCELを用いた複数のINSERT文の作成方法
早速、EXCELを用いて複数データを挿入するINSERT文の書き方を解説します!
例えば、下記のようなデータを”member” (会員)テーブルにINSERTすると仮定しましょう。
id (ID) | name (名前) | age (年齢) |
---|---|---|
1 | sakana | 3 |
2 | tanaka | 5 |
3 | takana | 7 |
4 | atama | 9 |
5 | nakata | 11 |
まずは下の画像のようにデータのリストをEXCELにまとめましょう。
次に1つ丁寧に真心を込めてひな形となるSQL文を作っていきます。
どこかからコピーしてきても良いのですが、はじめのうちは自分で書いてみると良いかもしれません。
INSERTする値はセルの相対参照を用いてSQLを作成します。
="INSERT INTO member (id,name,age) VALUES ('"&A2&"','"&B2&"',"&C2&");"
こちらの作業を急いで適当にやってしまって記述が間違っていたりするとSQL作り直しになってしまってかえってタイムロスになってしまうので、丁寧に真心を込めましょう。
そして、真心を込めたINSERT文ができたら、ここまでくれば説明は不要かと思います。
先ほど真心を込めて作成したSQLをコピーしていきましょう。
簡単・効率的に複数のINSERT文ができました!
似たようなSQLを発行する機会が多い方はテーブル名やカラム名は絶対参照で記載しておいてEXCELを保存しておくと後で使いまわせて便利です。
絶対参照を用いたEXCEL上での記述は下記です。
="INSERT INTO "&$B$1&" ("&$A$3&","&$B$3&","&$C$3&") VALUES ('"&A4&"','"&B4&"',"&C4&");"
EXCELの相対参照と絶対参照がよく分かっていないという方は下の記事を参考にしてみてください。
最初に時間を掛けておくと後が楽になる作業は時間対効果を考えて積極的に利用しましょう!
EXCELを用いた複数のINSERT文作成まとめ
わたしはこの方法を最初に知ったときは「目からうろこ」でした。sakanaだけにね。
今回は簡単なINSERT文を例に挙げて説明しましたが、こちらを応用すればより複雑なINSERT文を大量に作るとこができます。
また、条件となるWHERE句がリスト化されているのであればUPDATE文やDELETE文にも応用することができるので、この方法は知っておいて損はないです!
この記事がわたしのようにSQL作成に時間が掛かっていた未経験エンジニアのかたの役に立てば幸いです。
また、他に効率的な方法があればコメント・Twitterなどで教えていただけると嬉しいです!
コメント