ホーム > ORACLE > TABLE

オブジェクト

データを格納する

ビュー

1つ以上の表からのデータのサブセット。
データは保持しない。

順序

一意な数値を生成する。

索引

問い合わせのパフォーマンスを向上させる目的で使用する。

シノニム

オブジェクトの別名

命名規則

  • 先頭は文字である。
  • 長さは30バイト以下
  • 英数字、記号($ _ #)が可能
  • ORACLEの予約語を使用できない
  • 同一のスキーマ内で一意な表名、同一表内で一意な列名でなければならない
  • 大文字/小文字の区別はされない

スキーマ

オブジェクトの集合
ユーザは1つのスキーマを所有する

データを格納するオブジェクト

表の確認

DESCRIBE ( DESC )

表の作成

CREATE TABLE 表名
(列名, データ型 [ DEFAULT 式]
[, 列名 データ型] ...)
[ TABLES`ACE 表領域名 ]

DEFAULT式

INSERTをする際に、DEFAULT式を省略するするとNULL値が適用されます。
列にデフォルトの値を指定すると、値がない行を挿入された場合に、デフォルト値が挿入されます。
デフォルト値には、リテラル、式、SYSDATEなどが可能。
他の列名、擬似列(NEXTVAL)などは使用できない。

データ型

CHAR(size)

固定長文字データ
1~2000バイトまで
指定桁数に満たない場合、空白が挿入される。
日本語は1語2バイトで扱われる。

VARCHAR2(size)

可変長文字データ
1~4000バイトまで
文字データのみ格納。
桁数に満たない場合は、領域を確保しない。

LONG

可変長文字データ(2GB)
表に対して1つの列しか使用できない
ORDER BY / GROUP BY を使用できない
整合性や制約、索引に使用することもできない
副問い合わせの結果を使用して表を作成する場合、LONG列の値はコピーされない

NUMBER(p,s)

可変長数値データ
pは最大38桁まで可能
sは小数点以下の桁数を指定
Sを省略するとpの制度の整数として使用可能

DATE

日付と時刻を固定長7バイトの日付データ型
4桁年, 月, 日, 時, 分, 秒を格納する

バイナリ型

RAW(s)

可変長バイナリ型
sは1~2000バイトまで可能

LONG RAW

可変長バイナリ型
最大2GBまで可能。
LONGと同様に表ごとに1つの列しかLONG型を使用できないなどの制約を持つ

LOB

RAWと異なり、複数の列に定義可能。
最大4GB

BLOB

バイナリデータ型

CLOB

文字データ型

BFILE

読取専用のバイナリデータ型
OSにファイルとして保存されているデータにアクセスする

ROWID

表内の行の一意にアドレスを表す。
BASE64文字列
ROWID擬似列からの戻り値を使用

日時および期間型

TIMESTAMP

時刻を1秒未満の単位にとして格納

  • TIMESTAMPE [p]
    DATA型の拡張
    年、月、日、時、分、秒、少数秒値を格納
    pは少数秒値は0~9桁の範囲で指定します。デフォルトは6桁です。
  • TIMESTAMP WITH TIME ZONE
    タイムゾーン変位を含みます。
    タイムゾーン変位は、現在時刻と国際標準時(UTC)の差を時間および分で表します。
  • TIMESTAMP WITH LOCAL TIME ZONE
    タイムゾーン変位を含みます。
    タイムゾーンはデータベースのタイムゾーンになります
  • INTARVAL YEAR[y] TO MONTH
    時間間隔(年月)を格納します
    yはYEARフィールドの桁数を指定します。
    デフォルト値は2桁です。
  • INTARVAL DAY [d] TO SECOND[s]
    時間間隔(日時分秒)を格納します
    dは日時フィールドの0~9桁を格納します。デフォルトは2桁です
    sは分秒フィールドの0~9桁を格納します。デフォルトは6桁です

既存表からの表の作成

  • 列定義には列名、デフォルト値、制約を含めることができる
  • 列を指定する場合、列数を吹く問い合わせのSELECTリストと一致させなければならない
  • 表は指定された列名で作成され、副問い合わせによって取り出された行が表に挿入される
  • 副問い合わせのSELECTリストに式を指定する場合、列別名をしていする
  • NOT NULL 制約とデータ型のみコピーされる
  • NOT NULL 以外の制約はコピーされない
CREATE TABLE テーブル名 
AS SELECT 列名 AS 列別名
            関数(列名) AS 列別名
            FROM 参照テーブル
            GROUP BY 参照列

表構造の変更

  • 新規列の追加
  • 既存列の削除
  • 既存列の有効桁数およびデータ型の変更
  • デフォルト値の定義(変更後に追加される行のみ有効)
  • 制約の有効化/無効化
  • 列名の変更
  • 読取専用に変更
    ALETE TABLE テーブル名 READ ONLY
    ALTER TABLE テーブル名 READ WRITE

表構造の削除

  • 表構造が削除される
  • 表内のデータも全て削除される
  • 表に定義されている索引もすべて削除される
  • 表に定義されている制約もすべて削除される
     ただし、外部キーの制約を定義している場合、エラーとなる
  • 表を基にしたビュー、シノニムは削除されない
  • 保留中のトランザクションはコミットされる
  • 表を削除できるのは、所有者または DROP ANY TABLE権限のユーザのみ

ゴミ箱からの表のリストア

ゴミ箱の確認

DROP TABLEを指定した場合、ゴミ箱に格納される
SELECT ORIGINAL_NAME, TYPE, OPRATION
FROM RECYCLEBIN;

ゴミ箱からのリストア

FLASHBACK TABLE 表名 TO BEFORE DROP
このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

TOP