この記事では、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列が削除されます。
注意: 列を削除するとデータが完全に失われるため、慎重に実行してください。また、重要なデータは削除前にバックアップを取得してください。
テキスト図による説明
以下に、操作の流れを図として示します。
- 元の表構造emp_idemp_namehire_date
- 列を追加(
phone_numberを追加)emp_idemp_namehire_datephone_number - 列を変更(
emp_nameのサイズ変更)emp_idemp_name (200)hire_datephone_number - 列を削除(
phone_numberを削除)emp_idemp_namehire_date
テキスト図は表構造の変更点を視覚的に示しており、操作内容の理解を深める助けになります。
まとめ
- 列の追加には
ALTER TABLE ... ADDを使用します。 - 列の変更には
ALTER TABLE ... MODIFYを使用します。 - 列の削除には
ALTER TABLE ... DROP COLUMNを使用します。
表構造の変更はデータベースの設計や運用に大きな影響を与えるため、操作前に必ずバックアップを取得することをお勧めします。特に、本番環境での操作では慎重な計画と検証が不可欠です。
これで、Oracleデータベースにおける表の列操作の基本を理解できました。次回はさらに詳細な操作について解説します!
[参考]
Oracle Database SQL言語リファレンス 19c




コメント