Database OracleDB インフラ

[OracleDB] テーブル定義変更のSQL「alter table」文とポイントを紹介

投稿日:

こんにちは!シミダイ(@shimidai2100)です。

Oracle Databaseのテーブル定義変更SQLのポイントを紹介します。

テーブル定義の変更作業は、カラム(列)の変更制約の追加・削除がメインになります。

単純なテーブル変更SQLは各種メディアやブログで紹介されており、指定できるパラメータも多くあります。

この記事では初心者向けにテーブルの定義変更する時の重要なポイントも合わせて紹介します。

この記事の内容

  • テーブルの定義変更SQLの基本構文を紹介
  • カラム(列)の追加・定義変更・削除
  • プライマリーキー、ユニークキー、外部キーの追加・変更・削除
  • テーブル名・カラム名の変更

テーブルの定義変更SQL:alter table

まずはテーブル定義変更のSQL「alter table」を紹介したいと思います。

alter table文は、テーブル定義変更するコマンドになります。

テーブル後に変更ができないパラメータが多く存在するため作成SQLを間違えないようにしましょう。

下がサンプルSQLになります。

テーブル名を指定指定する時は、「スキーマ名.テーブル名」の形で作成しましょう。

定義変更」句内でテーブル定義変更を指定します。

列名の指定カンマ区切りで行います。

カラムの追加:alter table ~ add

カラムの追加時には「add」句を使用します。

カラム追加時にNOT NULL制約デフォルト値も指定することが可能です。

下がサンプルSQLになります。

カラムの定義変更:alter table ~ modify

カラムの定義変更は「modify」句を利用します。

データ型・データサイズを変更

変更したいデータサイズとデータ型を作成済みのカラムに指定します。

下がサンプルSQLになります。例では”COL01”をchar型でデータサイズ1000byteに変更します。

NOT NULL制約を付与:NOT NULL

NOT NULL制約を付与する場合には、対象列に「NOT NULL」句を付与します。

下がサンプルSQLになります。

デフォルト値を指定:DEFAULT

デフォルト値を指定する場合には、対象列に「DEFAULT」句+「デフォルト値」を付与します。

下がサンプルSQLになります。

カラムの削除:alter table ~ drop

カラムを削除する場合には「drop」句を使用します。

下がサンプルSQLになります。2つ目の例では参照制約も合わせて削除するサンプルです。

キー制約の追加と削除

プライマリーキー」や「ユニークキー」や「外部キー」も「alter table」文で行えます。

プライマリーキーの追加:add constraint ~ primary key

プライマリーキーを追加するには「add constraint ~ primary key」を指定します。

下がサンプルSQLになります。

表領域は指定できないので作成後に「move」させる必要があります。

プライマリーキーの削除:add primary key

プライマリーキーを削除するには「add ~ primary key」を指定します。

下がサンプルSQLになります。

ユニークキー(一意制約)の追加:add constraint ~ unique

ユニークキーを追加するには「add constraint ~ unique」を指定します。

下がサンプルSQLになります。

表領域は指定できないので作成後に「move」させる必要があります。

ユニークキー(一意制約)を削除:drop constraint

ユニークキーを削除するには「drop constrant」を指定します。

下がサンプルSQLになります。

外部キー(参照整合性)の追加:add constraint ~ foreign key ~ references

外部キーを作成するには「add constraint ~ foreign key ~ references ~」を指定します。

下がサンプルSQLになります。

元のテーブル作成は↓の記事を参考にしてください。

[OracleDB] 表領域作成SQL「create tablespace」文とポイントを紹介

こんにちは!シミダイ(@shimidai2100)です。 Oracle Databaseの表領域の作成SQLと作成時のポイントを紹介します。 単純な作成SQLは各種メディアやブログで紹介されていますが ...

外部キー(参照整合性)の削除:drop constraint

ユニークキーを削除するには「drop constraint」を指定します。

下がサンプルSQLになります。

テーブル名・カラム名の変更

テーブル名の変更:rename to

テーブル名の変更は「rename to」を指定します。

下がサンプルSQLになります。

カラム名の変更:rename column ~ to

カラム名の変更は「rename column ~ to」を指定します。

下がサンプルSQLになります。

 

参考:しばちょう先生の試して納得!DBAへの道 第2回 表と表領域の関係

スポンサードリンク

関連記事

-Database, OracleDB, インフラ

Translate »

Copyright© shimidai2100 , 2018 All Rights Reserved.