SQLでテーブルにレコードを挿入(追加)する INSERT

を使うとデータベースのデータ(テーブルのレコード)を操作することができます。

データ操作の主な命令には

  • データの取得
  • データの挿入(追加)
  • データの更新(修正)
  • データの削除

があります。

今回は、上記の基本的なデータ操作命令のうち、データを挿入(追加)する方法について紹介します。

使用するサンプルテーブル

本記事ではレコードを挿入する際に以下のサンプルテーブルを使用します。

テーブル定義

サンプルとして使用するテーブルは、ユーザーの情報を管理する「ユーザー」という名前にします。
「ユーザー」テーブルには「ID」「名前」「パスワード」の3つの列を作成します。

列名 主キー
ID int
名前 varchar(20)
パスワード varchar(20)

テーブルを作成するCREATE文

ユーザーテーブルを作成するSQLは以下のようになります。

テーブルのレコードを挿入(追加)するINSERT

SQLでテーブルにレコードを挿入(追加)する際は、INSERTステートメントを使用します。

INSERTステートメントの構文

INSERTステートメントは、以下の構文で使用します。

INSERTステートメントでは、INSERTに続けてINTOを記述します。INSERTとINTOの間には空白文字(スペース、タブ、改行など)を記述します。
INSERT INTOの後にはレコードを挿入するテーブルの名前を記述します。
例えば、CUSTOMERというテーブルであれば

となります。
テーブル名を記述した後には、テーブルのどの列にどのような値を設定(登録)するかを指定します。
列の指定は、テーブル名の後に括弧()で括って指定します。
例えば、CUSTOMER_IDという列とCUSTOMER_NAMEという列を指定する場合は

となります。
値の指定は、列の指定の後にVALUESを記述し、その後のに括弧()で括って指定します。
例えば、数値の1と文字列の「顧客名1」という値を指定する場合は

となります。

サンプルテーブルへのレコードの挿入(追加)

INSERTステートメントの構文を確認できましたので、サンプルテーブルにレコードを挿入してみます。
ここでは、IDが「1」、名前が「ユーザー1」、パスワードが「hogehoge」のレコードを追加します。

ユーザーテーブルにレコードを挿入(追加)するSQL

ユーザーテーブルにレコードを挿入(追加)するSQLは、以下のようになります。

上記のSQLを実行するとユーザーテーブルにレコードが1件追加されます。

ID 名前 パスワード
1 ユーザー1 hogehoge

列の指定順について

INSERTステートメントでレコードを挿入する際の列の指定順には、特に決まりはありません。
任意の順番に指定することができます。
上記の例のSQLでは、「ID」「名前」「パスワード」の順に列を指定していますが、「パスワード」「名前」「ID」や、「名前」「パスワード」「ID」とすることもできます。

値の指定順について

列の指定順は任意にすることができますが、各列に設定(登録)する値は、指定した列の順番に合わせた順番に指定します。
例えばIDが「2」、名前が「ユーザー2」、パスワードが「piyopiyo」のレコードをユーザーテーブルに挿入する場合に、列の順番を「パスワード」「ID」「名前」と指定している場合は、値を「piyopiyo」「2」「ユーザー2」と指定します。