Oracleデータベースにおける表の列の追加、変更、削除

Oracle Master Silver

この記事では、Oracleデータベースで表の列を追加、変更、削除する方法を初心者向けに解説します。この記事を読むことで、実務に役立つ具体的なスキルを身につけることができ、データベースの設計や運用がよりスムーズになります。SQL文を使用した操作方法について、例を交えて分かりやすく説明します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


サンプル表の作成

まずは、例として使用するサンプル表を作成します。この表は社員情報を管理するもので、現実の業務に即した構成です。

CREATE TABLE employees (
    emp_id NUMBER(5) PRIMARY KEY,
    emp_name VARCHAR2(100),
    hire_date DATE
);

この表は、社員ID(emp_id)、社員名(emp_name)、入社日(hire_date)の3つの列を持っています。


列の追加

表に新しい列を追加する場合は、ALTER TABLE文を使用します。

例: 電話番号の列を追加

ALTER TABLE employees
ADD phone_number VARCHAR2(15);

このSQL文により、電話番号を格納するためのphone_number列が追加されます。

確認

列の追加後、表の構造を確認するには次のSQLを使用します。

DESC employees;

以下は実行結果の例です。

Name          Null?    Type
------------- -------- ------------
EMP_ID        NOT NULL NUMBER(5)
EMP_NAME               VARCHAR2(100)
HIRE_DATE              DATE
PHONE_NUMBER           VARCHAR2(15)

または、ALL_TAB_COLUMNSビューを確認することも可能です。


列の変更

既存の列のデータ型やサイズを変更することも可能です。

例: 社員名の列をVARCHAR2(200)に変更

ALTER TABLE employees
MODIFY emp_name VARCHAR2(200);

このSQL文により、emp_name列のデータ型がVARCHAR2(200)に変更されます。

注意: 列を縮小する場合、既存データが新しいサイズに収まらないとエラーになります。事前にデータ確認を行うことをお勧めします。

確認

変更後の構造を確認するために、再度DESC employees;を実行します。


列の削除

不要になった列を削除するには、ALTER TABLE文を使用します。

例: 電話番号の列を削除

ALTER TABLE employees
DROP COLUMN phone_number;

このSQL文により、phone_number列が削除されます。

注意: 列を削除するとデータが完全に失われるため、慎重に実行してください。また、重要なデータは削除前にバックアップを取得してください。


テキスト図による説明

以下に、操作の流れを図として示します。

  1. 元の表構造emp_idemp_namehire_date
  2. 列を追加phone_numberを追加)emp_idemp_namehire_datephone_number
  3. 列を変更emp_nameのサイズ変更)emp_idemp_name (200)hire_datephone_number
  4. 列を削除phone_numberを削除)emp_idemp_namehire_date

テキスト図は表構造の変更点を視覚的に示しており、操作内容の理解を深める助けになります。


まとめ

  • 列の追加にはALTER TABLE ... ADDを使用します。
  • 列の変更にはALTER TABLE ... MODIFYを使用します。
  • 列の削除にはALTER TABLE ... DROP COLUMNを使用します。

表構造の変更はデータベースの設計や運用に大きな影響を与えるため、操作前に必ずバックアップを取得することをお勧めします。特に、本番環境での操作では慎重な計画と検証が不可欠です。

これで、Oracleデータベースにおける表の列操作の基本を理解できました。次回はさらに詳細な操作について解説します!

[参考]
Oracle Database SQL言語リファレンス 19c

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

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