エクセルで関数を使わず簡単にSQLのINSERT文を作る方法

こんにちは~。「デザインもできるシステムエンジニア」のあつもり(@atumori17)です。このブログではAIスピーカーの使い方やエクセルVBAの情報などを発信しています。

今回はエクセルで関数を使わず簡単にSQLのINSERT文を作る方法を紹介します。エクセル上でてっとり早く大量にINSERT文を作りたい人向けです。関数を使った方法もあるのですが、今回は&(アンパサンド)のみを使って文字列を結合して作る方法です。

レクタングル大336×280

ワークシートに式を入れてINSERT文を作る

それではさっそくワークシートを使ってINSERT文を作っていきます。

今回、顧客情報が入ったワークシートを用意しました。

テーブル名が「CUSTOMER」

列名が「customer」「adress」「company」

となっています。

INSERT文を作る前にINSERT文の書き方をおさらいしておきましょう。

INSERT INTO テーブル名(列名1,列名2・・)values(‘データ1’,’データ2’・・)

表の右横に以下のように「固定値」と「数式」を交互に入力していくという流れになります。「(」などは数式の中に入れても良かったのですが、見やすさを考えてあえて別のセルに入れました。

  • 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文を生成するプログラムを作ると良いですよね。時間に余裕がある人はぜひ作ってみてください。

レクタングル大336×280
レクタングル大336×280

シェアする

  • このエントリーをはてなブックマークに追加

フォローする