Oracle DB:テーブルを作成する

(1)テーブル作成権限を追加する

ユーザにテーブルを作成するための権限“CREATE TABLE”を追加します。

CMD> sqlplus system/パスワード@接続先
SQL> conn /as sysdba
GRANT CREATE TABLE TO IKUYANI
/

(2)テーブルを作成する

CMD> sqlplus IKUYANI/IKUYANI0
CREATE TABLE IKUYANI.SHAIN_M ( -- テーブル名:SHAIN_M
     SHAIN_CD     NVARCHAR2(10) NOT NULL -- カラム:SHAIN_CD
    ,FIRST_NAME   NVARCHAR2(10) NOT NULL -- カラム:FIRST_NAME
    ,LAST_NAME    NVARCHAR2(10) NOT NULL -- カラム:LAST_NAME
    ,AGE          NUMBER(3) NOT NULL -- カラム:AGE
    ,CONSTRAINT PK_SHAIN_M PRIMARY KEY ( SHAIN_CD )  -- 主キー:SHAIN_CD
)
TABLESPACE IKUYANITS -- 表領域:IKUYANITS
LOGGING -- ログ設定(ダイレクトパスインサートでINSERTを高速化する場合は“NOLOGGING”を指定)
/

この例では、テーブル名の前にスキーマ名も指定しています。SQLファイルを作成する上で、Oracleインスタンスが1つしか作成できず、テスト環境を別スキーマに作成しなければならないなどの制約がある場合はスキーマ名を未指定にすることも考えられますが、個人的には未指定は事故の元なので嫌いです。
■CREATE TABLE公式ドキュメント
https://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_7002.htm

(3)作成したテーブルを確認する

SELECT OBJECT_TYPE, OBJECT_NAME, CREATED
FROM ALL_OBJECTS
WHERE OWNER = 'IKUYANI'
  AND OBJECT_TYPE IN ('TABLE', 'INDEX')
ORDER BY OBJECT_TYPE, OBJECT_NAME
/

結果

OBJECT_TYPE   OBJECT_NAME   CREATED
------------- ------------- --------
INDEX         PK_SHAIN_M    16-05-30
TABLE         SHAIN_M       16-05-30