Oracle創建表

在本教學中,您將學習如何使用Oracle CREATE TABLE語句在Oracle資料庫中創建一個新表。

Oracle CREATE TABLE語句簡介

要在Oracle資料庫中創建一個新表,可以使用CREATE TABLE語句。下麵說明了CREATE TABLE語句的基本語法:

CREATE TABLE schema_name.table_name (
    column_1 data_type column_constraint,
    column_2 data_type column_constraint,
    ...
    table_constraint
 );

在上面這個語法中,

  • 首先,在CREATE TABLE子句中,指定新表所屬的表名和模式名稱。
  • 其次,在圓括號內列出所有列。 如果一個表有多個列,則需要用逗號分隔每個列的定義。列定義包括列名,後跟它的數據類型,例如NUMBERVARCHAR2和列約束,如NOT NULL,主鍵,約束檢查等。
  • 第三,如果適用,例如:主鍵,外鍵,約束檢查,則為表添加約束。

請注意用戶許可權問題,必須具有CREATE TABLE系統特權才能在模式中創建新表,並使用CREATE ANY TABLE系統特權在其他用戶的模式中創建新表。除此之外,新表的所有者必須具有包含新表或UNLIMITED TABLESPACE系統特權的表空間的配額。

Oracle CREATE TABLE示例

以下示例顯示如何在ot模式中創建一個名稱為persons的新表:

-- oracle 12c寫法
CREATE TABLE ot.persons(
    person_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(50) NOT NULL,
    last_name VARCHAR2(50) NOT NULL,
    PRIMARY KEY(person_id)
);

在這個例子中,persons表有三列:person_idfirst_namelast_name

person_id是標識表中唯一行的標識列。 person_id列的數據類型是NUMBER。 子句GENERATED BY DEFAULT AS IDENTITY指示 Oracle生成一個新的整數,並在列中插入新行時將其用於列。

first_name列的數據類型為VARCHAR2,最大長度為50。這意味著不能在first_name列中插入長度大於50的字元。 另外,NOT NULL列約束防止first_name列具有NULL值。

last_name列具有與first_name列相同的特徵。

PRIMARY KEY子句將person_id列指定為主鍵列,用於標識個人表中的唯一行。

在本教學中,您已學習如何使用Oracle CREATE TABLE語句來創建新表。


上一篇: Oracle Select語句 下一篇: Oracle創建表(create table as)