はじめに
「INSERT」はテーブルにデータを挿入するときに使います。
その基本的な使い方についてご説明します。
例として使用するテーブル
今回の例として以下のmembersテーブルをご用意しました。
membersテーブル
id | name | age | team_number |
---|---|---|---|
1 | hitomi | 39 | 2 |
2 | nibe | 25 | 1 |
3 | mikuni | 21 | 3 |
4 | yosoya | 31 | 2 |
INSERTの基本構文
基本となる構文は以下の通りです。
.sql
INSERT INTO テーブル名 (カラム名1,カラム名2,・・・)
VALUES (カラム1に入れるデータ,カラム2に入れるデータ,・・・);
今回の例では(カラム名) は「id」「name」「age」「team_number」、 (テーブル名)は「members」です。
試しにデータを挿入してみましょう。
sample.sql
INSERT INTO members (id, name, age, team_number)
VALUES (5, 'ikarugi', 42, 1);
データが挿入されたか、SELECTで確認してみましょう。
(SELECTについては下記の記事をご参照ください。)
sample.spl
SELECT * FROM members
出力結果は以下のようになります。
id | name | age | team_number |
---|---|---|---|
1 | hitomi | 39 | 2 |
2 | nibe | 25 | 1 |
3 | mikuni | 21 | 3 |
4 | yosoya | 31 | 2 |
5 | ikarugi | 42 | 1 |
新しくデータが挿入されているのがわかります。
カラム名の省略について
先ほどの構文は、カラム名を省略することができます。
.sql
INSERT INTO テーブル名 VALUES (カラム1に入れるデータ,カラム2に入れるデータ,・・・);
試しにデータを挿入してみましょう。
sample.sql
INSERT INTO members
VALUES (6, 'mutsuki', 29, 3);
データが挿入されたか、SELECTで確認します。
sample.spl
SELECT * FROM members
出力結果は以下のようになります。
id | name | age | team_number |
---|---|---|---|
1 | hitomi | 39 | 2 |
2 | nibe | 25 | 1 |
3 | mikuni | 21 | 3 |
4 | yosoya | 31 | 2 |
5 | ikarugi | 42 | 1 |
6 | mutsuki | 29 | 3 |
新しくデータが挿入されているのがわかります。
省略形の注意点
こちらの省略形は一見便利なようですが、仕様変更によりテーブルのカラム数が変わるとデータの数が合わず、エラーの原因となります。基本的には省略せず明示的に描くことが推奨されています。