INSERT でデータを追加する
テーブルにデータを追加するには INSERT 文を使います。
基本構文
INSERT INTO テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...);たとえば users テーブルに新しいユーザーを追加するには、こう書きます。
INSERT INTO users (name, email, age) VALUES ('田中', 'tanaka@example.com', 25);カラム名と値の順番は対応している必要があります。
カラム名を省略する
すべてのカラムに値を入れる場合は、カラム名を省略することもできます。
INSERT INTO users VALUES (1, '田中', 'tanaka@example.com', 25);ただし、テーブル定義の順番どおりに値を指定しなければなりません。カラムの順番を覚えていないといけないので、あまりおすすめしません。カラム名は明示するほうが安全です。
複数行を一度に追加する
VALUES の後ろにカンマで区切って複数の値セットを書くと、一度に複数行を追加できます。
INSERT INTO users (name, email, age) VALUES
('田中', 'tanaka@example.com', 25),
('鈴木', 'suzuki@example.com', 30),
('佐藤', 'sato@example.com', 28);1 行ずつ INSERT するより効率がよいです。
NULL を挿入する
NULL を入れたいカラムには、そのまま NULL と書きます。
INSERT INTO users (name, email, age) VALUES ('田中', NULL, 25);ただし、そのカラムが NOT NULL 制約を持っている場合はエラーになります。
デフォルト値を使う
カラムにデフォルト値が設定されている場合、そのカラムを省略するとデフォルト値が入ります。
-- age カラムを省略(デフォルト値が使われる)
INSERT INTO users (name, email) VALUES ('田中', 'tanaka@example.com');明示的にデフォルト値を使いたい場合は DEFAULT と書くこともできます。
INSERT INTO users (name, email, age) VALUES ('田中', 'tanaka@example.com', DEFAULT);AUTO_INCREMENT のカラム
主キーに AUTO_INCREMENT が設定されている場合、そのカラムは省略できます。自動的に連番が振られます。
-- id は AUTO_INCREMENT なので省略
INSERT INTO users (name, email, age) VALUES ('田中', 'tanaka@example.com', 25);| 方法 | 説明 |
|---|---|
| カラム省略 | AUTO_INCREMENT が自動で値を決める |
| NULL を指定 | 同様に自動で値が決まる |
| 0 を指定 | 同様に自動で値が決まる |
INSERT 文はデータ操作の基本です。UPDATE や DELETE と合わせて覚えておきましょう。












