※ この記事にはアフィリエイトリンクが含まれます
Oracleでデータを扱ううえで、最も基本となる操作のひとつが「INSERT文」です。
この記事では、OracleのINSERT文の基本構文から、応用的な使いまでを、初心者の方にもわかりやすく丁寧に解説していきます。
また、記事の後半では、INSERT文を理解したその先にある「プログラミング言語によるシステム開発」についても少し触れていきます。
SQLはあくまでシステムの一部分。アプリケーション開発を見据えるなら、PythonやJavaなどのプログラミング言語にも関心を持つことが、スキルアップの大きな一歩になります。
これからOracleを学ぶ方、業務で触れはじめた方にとって、この記事が“つまずかないための地図”になれば幸いです。
基本のINSERT構文
Oracleで新しいデータをテーブルに追加する場合、使用するのがINSERT INTO
文です。
もっとも基本的な構文は、以下のような形になります。
INSERT INTO テーブル名 (カラム1, カラム2, ..., カラムN)
VALUES (値1, 値2, ..., 値N);
▶ サンプル:従業員テーブルに1件のデータを追加する場合
INSERT INTO employees (employee_id, name, department)
VALUES (1001, '田中 太郎', '営業');
この文は、「employees」テーブルに対して、employee_id
が1001で、name
が「田中 太郎」、department
が「営業」という1行のデータを追加する処理です。
POINT:基本構文で注意すべき点
注意点 | 内容 |
---|---|
カラムの順序 | VALUES の値は、() 内のカラムと順番・個数を一致させる必要があります。 |
シングルクォート | 文字列型のデータ(例:名前、部署名など)は、‘(シングルクォート)で囲む必要があります。 |
セミコロン ; | SQL*Plus や SQL Developer など一部のツールでは、文末のセミコロンが必要です。 |
よくある間違い例
-- カラムの順番と値の順番が合っていない
INSERT INTO employees (employee_id, department, name)
VALUES (1002, '田中 二郎', '営業');
この場合、「’田中 二郎’」という値がdepartment
カラムに入ってしまい、エラーまたは想定外の登録になる可能性があります。
カラムの順序と、対応する値は一対一で対応させるのが基本です。
カラム名を省略したINSERT文(※おすすめはしません)
テーブルの全カラムに対して値を入れる場合、カラム名を省略することも technically は可能です。
INSERT INTO employees
VALUES (1003, '鈴木 三郎', '開発');
しかしこの方法は、テーブルのカラム構成が変更された場合にエラーの原因になりやすいため、
基本的にはカラム名を明示して記述する方法をおすすめします。
応用:SELECTを使ったINSERTについて
基本のINSERT INTO ... VALUES
だけではなく、Oracleでは実務的なシーンに対応するための、いくつかの応用的なINSERTの書き方があります。ここでは、他のテーブルからデータをコピーするINSERT INTO ~ SELECT
について、解説していきます。
INSERT INTO ~ SELECT 構文
他のテーブルからデータを取得し、それを別のテーブルへ追加する場合に使用します。
これは、大量のデータをまとめてコピーしたいときや、バックアップテーブルへの保存時に便利です。
より詳しい内容は、こちらの記事で紹介しているのでぜひご覧ください。
例:営業部門の従業員データをバックアップ用テーブルへコピー
INSERT INTO employees_backup (employee_id, name, department)
SELECT employee_id, name, department
FROM employees
WHERE department = '営業';
まとめ
OracleにおけるINSERT文は、シンプルなようでいて、正確な構文理解と注意深さが求められる基本操作のひとつです。
INSERT文をマスターすることは、単なるデータ操作のスキルではなく、
「エンジニアとしての基礎体力」をつけることに他なりません。
小さな一歩から、開発の世界を広げていきましょう。
プログラミングを学ぶなら、SQLの知識が大きなアドバンテージに
もしあなたが「もっと深く学びたい」「将来的には開発に携わりたい」と思っているなら、
SQLの理解をベースに、ぜひプログラミング言語の学習にも挑戦してみてください。
私がおすすめする動画教材を記事にまとめたので、ぜひご覧ください。
SQL初学者の方は、書籍の方も網羅的に学べておすすめです。私が読みやすくて分かりやすいと思った書籍を載せておきます。
コメント