【こんな使い方も?】SQL insertの使用方法を徹底的に解説
  • facebookページ
  • twitterページ
  • 2019.08.29

    【こんな使い方も?】SQL insertの使用方法を徹底的に解説

    SQL文のステートメントの中でも特に使用頻度が高いものがinsertではないでしょうか。簡易な使用方法で、DBへデータの挿入をすることができるSQLのinsertステートメントは非常に使い勝手の良いですね。

    一見、レコードを挿入するためだけのシンプルなSQLステートメントに見えるinsertですが、実はプロのシステムエンジニアでも「知らなかった!」と驚かれるような使用方法があります。

    今回の記事ではSQL insertの使用方法を徹底的に解説していきます。使用頻度の高いinsert文を使いこなし、DBの単純なハンドリングだけではなく、フレキシブルなWEBアプリケーションを作れるようになりましょう。

    本記事の要点
    • SQLにおける「insert」の概要
    • SQL insert文の使い方

    SQLのステートメント「insert」とは何か

    SQLのステートメント「insert」とは、データベース内のテーブルに行(レコード)を挿入するためのSQL文のことです。insertステートメントはデータベース言語のため、普段WEBアプリケーションを使用していると見えにくいものですが、気づかない間にいろいろな場面で使用しているはずです。

    例えば以下のようなシチュエーションでSQLのinsert文を使用しています。

    • ブログ投稿サイトで新規記事を投稿したとき
    • TwitterなどのSNSで新しいメッセージを投稿したとき
    • ECサイトでショッピングカートに商品を入れたとき(セッションを使用していない場合)

    このような例を見ていくとSQLのinsertステートメントの特徴や使いどころがわかってきたのではないでしょうか。SQLのinsertステートメントは主に新しいデータをデータベースに挿入するという場面で使用されることが多いのです。

    insertという英単語自体、あまり身近なものではないため、イメージがしづらいかもしれません。しかし、そもそもinsertという英単語には「差し込む」という意味があるため「新しいデータをデータベースに差し込む」というイメージを持っておくといいですね。

    ポテパンダの一言メモ

    ちなみにSQLというのは、データベースを扱うためのデータベース言語、コンピュータ言語のことです。データベースを扱うためには、コンピュータが理解できる言語で命令を出さなければなりません。SQLはコンピュータが理解できる言語の1つ。データベースを持つWEBアプリケーションを開発する上では、習得必須とも言えるものです。

    SQL insertの使い方

    SQLのinsertステートメントについての概要を把握していただいた上で、次にSQLのinsertステートメントの具体的な使用方法をご紹介していきましょう。

    ポテパンダの一言メモ

    本記事では、SQLのinsertステートメントを使用する環境としてMySQLというデータベース管理システムを使用します。MySQLに関する説明は割愛しますが、まだ使用したことがないという方はこれを機に導入してみてください。

    単一行(レコード)の挿入

    まずはinsert文を使って、最もシンプルに単一の行(レコード)の挿入を行う方法を見ていきましょう。何はともあれ、まずはMySQLを使用して、データベースとテーブルを作成していきましょう。

    SQLのinsertステートメントにおける基本構文は、「INSERT INTO {TABLE_NAME} (COLUMN_NAME1, COLUMN_NAME2, …) VALUES (VALUE1, VALUE2, …」というものです。また、insertステートメントを入力した後の出力結果にも注目しましょう。

    「Query OK,1 row affected」とあるように、insertステートメントが受理され、1行挿入されたということが記載されています。ちなみに「affect」には「影響を与える」という意味があります。

    複数行(レコード)の挿入

    次にSQLのinsertステートメントを使用して、複数行の挿入を行ってみましょう。こちらも冗長な書き方に見えますが、仕組みが分かれば簡単に書くことができるようになります。

    先ほどの単一行挿入との違いは、挿入したい数だけVALUESの後に中身を連ねていくということだけです。挿入したい内容が複数あるのであれば、単一行挿入を何度も繰り返すよりも、上記のようにSQLのinsertステートメントを使用して複数行挿入をした方が効率的に書くことができます。

    またinsertステートメントの後の出力にも注目しましょう。

    2つのレコードを挿入したため「2 rows affected」となっています。

    他テーブルからの挿入

    他テーブルのレコードをそのまま、対象テーブルに挿入したい場合もあるはずです。そのようなときには、以下のようなinsertステートメントを利用することができます。

    このように記載することによって、staffテーブルのNAMEカラムに「Taro Tanaka」というデータが挿入されているレコードをstaff2テーブルへ挿入することができます。テーブルをまたいでデータベースを使用する際には便利なので覚えておきたいですね。

    まとめ

    今回の記事ではSQL insertの使用方法を徹底的に解説していきました。使用頻度の高いinsert文を使いこなし、単純なデータベースのハンドリングだけではなく、フレキシブルなWEBアプリケーションを作れるようになりましょう。

    また今回ご紹介した方法以外にもinsertステートメントにはさまざまな使い方があります。奥の深いステートメントなので、ぜひ積極的にリサーチし、insert文を使いこなせるようになりましょう。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件