データベースのテーブル(表)

リレーショナル・データベースはデータを表(テーブル)形式で表します。表はスキーマ・オブジェクトです。

目次

  1. SQL
    1. ALTER TABLE
    2. COMMENT
    3. CREATE TABLE
    4. DELETE
    5. DROP TABLE
    6. INSERT
    7. MERGE
    8. SELECT
    9. TRUNCATE TABLE
    10. UPDATE
  2. SQL*Plusコマンド
    1. COLUMN
    2. DESCRIBE
  3. データ・ディクショナリ・ビュー
    1. ALL_CATALOG
    2. ALL_OBJECTS
    3. ALL_TABLES
    4. ALL_TAB_COLUMNS
    5. DBA_CATALOG
    6. DBA_OBJECTS
    7. DBA_TABLES
    8. DBA_TAB_COLUMNS
    9. USER_CATALOG
    10. USER_OBJECTS
    11. USER_TABLES
    12. USER_TAB_COLUMNS
  4. システム権限
    1. ALTER ANY TABLE
    2. CREATE ANY TABLE
    3. CREATE TABLE
    4. DROP ANY TABLE
    5. UPDATE ANY TABLE
  5. オブジェクト権限
    1. ALTER
  6. DUAL表

SQL

表(テーブル)に関するSQL文の一覧を以下に示す。

ALTER TABLE

ALTER TABLE は、表(テーブル)定義を変更するSQL文である。

COMMENT

COMMENT は、表(テーブル)にコメントを付けるSQL文である。

CREATE TABLE

CREATE TABLE は、表(テーブル)を作成するSQL文である。

DELETE

DELETE は、表(テーブル)からレコードを削除するSQL文である。

DROP TABLE

DROP TABLE は、表(テーブル)を削除するSQL文である。

INSERT

INSERT は、表(テーブル)にレコードを挿入するSQL文である。

MERGE

MERGE は、表(テーブル)のレコードを更新または挿入するSQL文である。

SELECT

SELECT 表(テーブル)からレコードを問い合わせるSQL文である。

TRUNCATE TABLE

TRUNCATE TABLE は、表(テーブル)内のすべてのレコードを削除するSQL文である。

UPDATE

UPDATE 表(テーブル)のレコードを更新するSQL文である。

SQL*Plusコマンド

表(テーブル)に関するSQL*Plusコマンドの一覧を以下に示す。

COLUMN

COLUMN は、列の表示属性を設定するSQL*Plusコマンドである。

DESCRIBE

DESCRIBE は、表(テーブル)の定義を表示するSQL*Plusコマンドである。

データ・ディクショナリ・ビュー

表(テーブル)に関するデータ・ディクショナリ・ビューの一覧を以下に示す。なお、テーブルの最終更新日時はデータ・ディクショナリ・ビューに格納されていない。

ALL_CATALOG

ALL_CATALOG は、現在のユーザがアクセスできるテーブル、ビュー、シノニム、シーケンス及びクラスタを示すデータ・ディクショナリ・ビューである。

ALL_OBJECTS

ALL_OBJECTS は、現在のユーザがアクセスできるオブジェクトを示すデータ・ディクショナリ・ビューである。

ALL_TABLES

ALL_TABLES は、現在のユーザがアクセスできるテーブルを示すデータ・ディクショナリ・ビューである。

ALL_TAB_COLUMNS

ALL_TAB_COLUMNS は、現在のユーザがアクセスできるテーブル、ビューおよびクラスタの列を示すデータ・ディクショナリ・ビューである。

DBA_CATALOG

DBA_CATALOG は、データベース内のすべてのテーブル、ビュー、シノニム、シーケンスおよびクラスタを示すデータ・ディクショナリ・ビューである。

DBA_OBJECTS

DBA_OBJECTS は、データベース内のすべてのオブジェクトを示すデータ・ディクショナリ・ビューである。

DBA_TABLES

DBA_TABLES は、データベース内のすべてのテーブルを示すデータ・ディクショナリ・ビューである。

DBA_TAB_COLUMNS

DBA_TAB_COLUMNS データベース内のすべてのテーブル、ビューおよびクラスタの列を示すデータ・ディクショナリ・ビューである。

USER_CATALOG

USER_CATALOG は、現在のユーザが所有するテーブル、ビュー、シノニム、シーケンスおよびクラスタを示すデータ・ディクショナリ・ビューである。

USER_OBJECTS

USER_OBJECTS は、現在のユーザが所有するオブジェクトを示すデータ・ディクショナリ・ビューである。

USER_TABLES

USER_TABLES は、現在のユーザが所有するテーブルを示すデータ・ディクショナリ・ビューである。

USER_TAB_COLUMNS

USER_TAB_COLUMNS は、現在のユーザが所有するテーブル、ビューおよびクラスタの列を示すデータ・ディクショナリ・ビューである。

システム権限

表(テーブル)を操作するために必要なシステム権限の一覧を以下に示す。

ALTER ANY TABLE

ALTER ANY TABLE は、任意のスキーマの表を変更できるシステム権限である。

CREATE ANY TABLE

CREATE ANY TABLE は、任意のスキーマに表を作成できるシステム権限である。

CREATE TABLE

CREATE TABLE は、自分のスキーマに表を作成できるシステム権限である。自分が作成したオブジェクトは、削除することもできる。

DROP ANY TABLE

DROP ANY TABLE は、任意のスキーマの表を削除できるシステム権限である。

UPDATE ANY TABLE

UPDATE ANY TABLE は、任意のスキーマの表を更新できるシステム権限である。

オブジェクト権限

表(テーブル)を操作するために必要なオブジェクト権限の一覧を次に示す。

ALTER

ALTER は、この表(テーブル)を変更できるオブジェクト権限である。

DUAL表

DUALとは、Oracleデータベースにあらかじめ用意されている擬似表である。

SQL> DESCRIBE DUAL
名前                                       NULL?    型
----------------------------------------- -------- ----------------------------

DUMMY                                              VARCHAR2(1)

SQL>

他のDBMSと異なり、OracleデータベースのSELECT文はFROM句を省略できない。SELECT文のFROM句に指定するテーブルが無い場合、DUAL表を指定する。

システム時刻を取得する。

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
--------
09-10-09

SQL>

シーケンス番号を取得する。

SQL> SELECT sequence1.NEXTVAL FROM DUAL;

NEXTVAL
----------
   1

SQL>