SQL INSERT文でテーブルの行を追加するサンプル

目次

 

INSERT文 (列名を書く構文)

INSERT  INTO  テーブル名 ( 列名1 ,列名2 ,列名3)  VALUES ( ‘値1′, ‘値2’, ‘値3’ );
INSERT INTO employee(id,name,romaji) VALUES (1,'鈴木','suzuki');
INSERT INTO employee(id,name,romaji) VALUES (2,'田中',null);
INSERT INTO employee(id,name) VALUES (3,'佐藤');
  • テーブル名の後にテーブルの列名を書くINSERT文です。
  • 全てのテーブルの列名を記述する必要はありません。(重要)
  • テーブルの列名の位置に対応してvaluesの値を指定します。
  • テーブルの列の数が増える、またはinsert文で使用していないテーブルの列が削除されてもエラーは発生しません。(推奨の理由)

使用例

以下のテーブルにデータを追加します。

employeeテーブル
id
int
name
varchar
romaji
varchar

 

以下のSQLを実行します。

INSERT INTO employee(id,name,romaji) VALUES (1,'鈴木','suzuki');
INSERT INTO employee(id,name,romaji) VALUES (2,'田中',null);
INSERT INTO employee(id,name) VALUES (3,'佐藤');

1,2,3行目ともemployeeの後にテーブルの列名があります。
3行目は、employeeの後のテーブルの列名とVALUESの後の値が2つのみです。

 

実行結果は、以下のとおりです。

employeeテーブル
id
int
name
varchar
romaji
varchar
1 鈴木 suzuki
2 田中 null
3 佐藤 null

テーブルの3行目の項目「romaji」の値はnullになっています。

 

INSERT文 (列名を書かない構文)

INSERT  INTO  テーブル名  VALUES ( ‘値1′ , ‘値2’, ‘値3’ );
INSERT INTO employee VALUES (1,'鈴木','suzuki');
INSERT INTO employee VALUES (2,'田中',null);
  • テーブル名とvaluesの間に、テーブルの列名を書かないINSERT文です。
  • valuesの後にINSERTする値を記述します。
    →値は、テーブルの列の数と同じ数を記述します。(重要)
    →値の位置がテーブルの列の位置に対応します。(重要)
  • 値をセットしない項目はNULLと書きます。
  • テーブルの列の数に増減があった場合、SQLも修正しないとエラーが発生します。(非推奨の理由)

使用例

以下のテーブルにデータを登録します。

employeeテーブル
id
int
name
varchar
romaji
varchar

 

以下のSQLを実行します。

INSERT INTO employee VALUES (1,'鈴木','suzuki');
INSERT INTO employee VALUES (2,'田中',null);

1,2行目ともemployeeとVALUESの間にテーブルの列名がありません。
2行目は、VALUESの3つめの値がnullになっています。

 

実行結果は、以下のとおりです。

employeeテーブル
id
int
name
varchar
romaji
varchar
1 鈴木 suzuki
2 田中 null

関連の記事

SQL UPDATE文でテーブルの行を更新するサンプル
SQL distinct 重複行を表示しないサンプル
SQL 複数の行をまとめる(集約関数/group by/having)
SQL INNER JOIN 内部結合のサンプル
SQL LEFT JOIN 外部結合のサンプル
SQL 副問合せのサンプル(サブクエリ)
SQL 自己結合のサンプル
SQL UNIONとUNION ALLのサンプル(結合して抽出)

△上に戻る