在本教學中,您將學習如何使用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
子句中,指定新表所屬的表名和模式名稱。 - 其次,在圓括號內列出所有列。 如果一個表有多個列,則需要用逗號分隔每個列的定義。列定義包括列名,後跟它的數據類型,例如
NUMBER
,VARCHAR2
和列約束,如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_id
,first_name
和last_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)