こんにちは~。「デザインもできるシステムエンジニア」のあつもり(@atumori17)です。このブログではAIスピーカーの使い方やエクセルVBAの情報などを発信しています。
今回はエクセルで関数を使わず簡単にSQLのINSERT文を作る方法を紹介します。エクセル上でてっとり早く大量にINSERT文を作りたい人向けです。関数を使った方法もあるのですが、今回は&(アンパサンド)のみを使って文字列を結合して作る方法です。
ワークシートに式を入れてINSERT文を作る
それではさっそくワークシートを使ってINSERT文を作っていきます。
今回、顧客情報が入ったワークシートを用意しました。
テーブル名が「CUSTOMER」
列名が「customer」「adress」「company」
となっています。
INSERT文を作る前にINSERT文の書き方をおさらいしておきましょう。
表の右横に以下のように「固定値」と「数式」を交互に入力していくという流れになります。「(」などは数式の中に入れても良かったのですが、見やすさを考えてあえて別のセルに入れました。
- D3セル「INSERT INTO 」
- E3セル「=$A$1」
- F3セル「(」
を入力します。E3セルはA1セルのテーブル名を絶対参照しています。絶対参照にするのは後でできあがった式をコピーするときに参照行がずれないようにするためです。
- G3セル「=$A$2&”,”&$B$2&”,”&$C$2」
- H3セル「values(」
を入力します。G3セルはA2~C2の列名を絶対参照し、列名と列名の間にカンマを入れています。
- I3セル「=”‘”&A3&”‘,'”&B3&”‘,'”&C3&”‘”」
- J3セル「)」
を入力します。I3はインサートするデータです。A3~C3のデータを相対参照しています。インサートするデータは行によって異なるため、相対参照にしています。各データはダブルクォーテーションで囲み、データとデータの間にはカンマを入れています。
- K3セル「=D3&E3&F3&G3&H3&I3&J3」
を入力します。K3セルは今まで入力したすべてのデータを連結させています。これで1行ぶんのINSERT文は完成しました。
他の行のINSERT文を作るために、D3セルからK3セルをコピーして、それ以降の行に貼り付けます。
K列が完成したSQL文です。これをコピーして使用してください。
以上でワークシートから数式を使ってINSERT文を作る方法の説明を終わります。
まとめ
いかがでしたか?今回はエクセルで関数を使わず簡単にSQLのINSERT文を作る方法を紹介しました。
今回のようにエクセルシート上に式を入れてINSERT文を作ってもよいのですが、頻繁に使うのであれば、VBAを使って自動的にINSERT文を生成するプログラムを作ると良いですよね。時間に余裕がある人はぜひ作ってみてください。
当ブログ上で簡単にINSERT文が作れます。詳しくは下の記事をご覧ください。
その使い方だと損してます!
会社員、個人事業主のかたへ。
無料で登録できるAmazonビジネスアカウントを知ってますか?
何と言っても便利なのが請求書払いによる後払いができるということ。
また、承認ルールを作成すれば、業務上必要な物だけに購入を制限することができます。
さらに多くの商品にビジネスアカウント価格が設定されており、個人アカウントより安く購入できます。
このように個人アカウントと比べてビジネスアカウントはお得な機能や特典がついています。
無料で登録できるので、会社員、個人事業主なら使ったほうが得なのは言うまでもありません。