【初心者向け】OracleのINSERT文の書き方を丁寧に解説

スポンサーリンク
この記事は約7分で読めます。

※ この記事にはアフィリエイトリンクが含まれます

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 = '営業';
  • SELECTで抽出された行が、そのままemployees_backupに挿入されます。
  • カラムの順序・データ型は、挿入先テーブルと一致している必要があります。

まとめ

OracleにおけるINSERT文は、シンプルなようでいて、正確な構文理解と注意深さが求められる基本操作のひとつです。

INSERT文をマスターすることは、単なるデータ操作のスキルではなく、
「エンジニアとしての基礎体力」をつけることに他なりません。

小さな一歩から、開発の世界を広げていきましょう。

プログラミングを学ぶなら、SQLの知識が大きなアドバンテージに

もしあなたが「もっと深く学びたい」「将来的には開発に携わりたい」と思っているなら、
SQLの理解をベースに、ぜひプログラミング言語の学習にも挑戦してみてください。

私がおすすめする動画教材を記事にまとめたので、ぜひご覧ください。

SQL初学者の方は、書籍の方も網羅的に学べておすすめです。私が読みやすくて分かりやすいと思った書籍を載せておきます。

Oracle
スポンサーリンク
なんくるをフォローする

コメント

タイトルとURLをコピーしました