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

表(テーブル)はスキーマ・オブジェクトです。

テーブルに関するSQL

テーブルに関するSQLを示す。

テーブルに関するSQL
SQL 説明
ALTER TABLE テーブルを変更する。
COMMENT テーブルにコメントを付ける。
CREATE TABLE テーブルを作成する。
DELETE テーブルからレコードを削除する。
DROP TABLE テーブルを削除する。
INSERT テーブルにレコードを挿入する。
MERGE テーブルのレコードを更新又は挿入する。
SELECT テーブルからレコードを問い合わせる。
TRUNCATE TABLE テーブル内のすべてのレコードを削除する。
UPDATE テーブルのレコードを更新する。

テーブルに関するSQL*Plusコマンド

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

テーブルに関するSQL*Plusコマンド
コマンド 説明
COLUMN 列の表示属性を設定する。
DESCRIBE テーブルの定義を表示する。

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

表(テーブル)に関するデータ・ディクショナリ・ビューを次に示す。

ALL_CATALOG
現在のユーザがアクセスできるテーブル、ビュー、シノニム、シーケンス及びクラスタ
ALL_OBJECTS
現在のユーザがアクセスできるオブジェクト
ALL_TABLES
現在のユーザがアクセスできるテーブル
ALL_TAB_COLUMNS
現在のユーザがアクセスできるテーブル、ビュー及びクラスタの列
DBA_CATALOG
データベース内のすべてのテーブル、ビュー、シノニム、シーケンス及びクラスタ。
DBA_OBJECTS
データベース内のすべてのオブジェクト
DBA_TABLES
データベース内のすべてのテーブル
DBA_TAB_COLUMNS
データベース内のすべてのテーブル、ビュー及びクラスタの列を示す。
USER_CATALOG
現在のユーザが所有するテーブル、ビュー、シノニム、シーケンス及びクラスタ
USER_OBJECTS
現在のユーザが所有するオブジェクト
USER_TABLES
現在のユーザが所有するテーブル
USER_TAB_COLUMNS
現在のユーザが所有するテーブル、ビュー及びクラスタの列

なお、テーブルの最終更新日時はデータ・ディクショナリ・ビューに格納されていない。

システム権限

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

ALTER ANY TABLE
任意のスキーマの表を変更できる。
CREATE ANY TABLE
任意のスキーマに表を作成できる。
CREATE TABLE
自分のスキーマに表を作成できる。自分が作成したオブジェクトは、削除することもできる。
DROP ANY TABLE
任意のスキーマの表を削除できる。
UPDATE ANY TABLE
任意のスキーマの表を更新できる。

オブジェクト権限

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

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>