CodeGym /コース /SQL SELF /INSERT INTOを使ったデータ挿入の基本

INSERT INTOを使ったデータ挿入の基本

SQL SELF
レベル 21 , レッスン 0
使用可能

データ挿入って何?

例えば、君が大学を開いたとしよう。studentsみたいなテーブルで学生の情報を管理するデータベースがあるよね。どの学生が入学したか発表して、そのデータをテーブルに追加する時が来た!SQLではINSERT INTOコマンドを使うんだ。これはテーブルに新しい行を追加するためのもの。Excelで手動で新しい行を追加するみたいな感じだけど、もっと速くてパワフル、しかもコードでできる!

データ追加は基本的な作業だけじゃなくて、いろんな場面で使われるよ。ネットショップの注文記録から銀行のトランザクション情報の保存まで。大学なら学生リストや先生リスト、時間割なんかもそうだね。

INSERT INTOコマンドの基本構文

SQLのINSERT INTOコマンドは、テーブルに新しい行を追加するシンプルな方法だよ。基本の構文を見てみよう:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

各パーツの説明:

  1. table_name — データを追加したいテーブル名。
  2. (column1, column2, column3, ...) — 値を指定するカラムのリスト。
  3. VALUES (value1, value2, value3, ...) — それぞれのカラムに入れる値のリスト。

例:新しい学生をstudentsテーブルに追加してみよう。例えば、こんなテーブルがあるとする:

id name age course
1 Otto Song 18 数学

じゃあ、INSERT INTOで2人目の学生を追加しよう:

INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, '情報科学');

このクエリを実行した後、テーブルはこうなるよ:

id name age course
1 Otto Song 18 数学
2 Anna Lin 19 情報科学

全カラムへのデータ挿入

テーブルの全カラムに値を入れたい場合は、INSERT INTOでカラム名を省略できるよ。ただし、すべてのカラムに正しい順番で値を指定する必要があるから注意!

構文:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

例:さらにもう一人学生をstudentsテーブルに追加する場合:

INSERT INTO students
VALUES (3, 'Dan Sim', 20, '物理学');

結果:

id name age course
1 Otto Song 18 数学
2 Anna Lin 19 情報科学
3 Dan Sim 20 物理学

でも、このやり方はテーブルの構造が変わった時に危険だから、カラム名は毎回指定するのがオススメだよ。エラーを防げるからね。

実践:学生を追加してみよう

今度はINSERT INTOコマンドの力をフル活用して、新しい学生をstudentsテーブルに追加してみよう!

ステップ1:今あるデータを確認

まずはテーブルにどんなデータが入ってるか確認しよう。SELECTコマンドを使うよ:

SELECT * FROM students;

ステップ2:新しい学生を追加

今度はPeter Chiって学生を追加しよう。彼は「生物学」コースで、21歳だよ:

INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, '生物学');

ステップ3:ちゃんと追加されたか確認

もう一度全データをSELECTしてみよう:

SELECT * FROM students;

結果:

id name age course
1 Otto Song 18 数学
2 Anna Lin 19 情報科学
3 Dan Sim 20 物理学
4 Peter Chi 21 生物学

イケてるでしょ?これでPeterも大学に追加されたよ!

INSERT INTOでよくあるミス

カラムと値の数が合わない。 例えば4つカラムを指定してるのに、値が3つしかなかったら、SQLはエラーを返すよ:

INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, '化学');

エラー:カラム数と値の数が一致しない。

制約違反。 カラムがUNIQUENOT NULLみたいな制約を持ってる場合、それを破るとエラーになるよ。

データ型ミス。

例えば、数値フィールドにテキストを入れようとすると、PostgreSQLは怒るよ:

INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', 'にじゅう', '化学');

これって実際のプロジェクトで何に使うの?

INSERT INTOコマンドを知ってると、データベースを使うほぼすべてのアプリで役立つよ。実際にはこんな場面で使う:

  • 新しいユーザーのシステム登録。
  • ネットショップでの注文追加。
  • 決済システムでの支払いデータ保存。
  • 教育システムでの学生、出席、成績などの日々のデータ更新。

アプリがユーザーや外部データソースとやりとりするたびに、INSERT INTOはデータベースにデータを書き込むメインツールになるんだ。

もし君がbackendアプリを作ったり、データ処理用のAPIを作るつもりなら、SQLでデータを挿入できるスキルは超基本だけど、めっちゃ大事な基礎力だよ!

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION