一、基礎概念
Oracle是一個關係型數據庫系統,建表語句是用來定義表結構的命令。表是一種基本的數據庫對象,由多個列組成。
在Oracle數據庫中,一個表必須包含一個表名和至少一個列。每個列都必須有一個數據類型。一個表還可以包含約束和索引。
每當創建一個新表時,Oracle會在系統目錄中創建一個新的表定義,並分配新表的所有相關數據到適當的數據文件中。
二、建表語句的格式
Oracle建表語句的基本格式如下:
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], column3 datatype [ NULL | NOT NULL ], .... CONSTRAINT constraint_name PRIMARY KEY (column1,column2,....) );
其中,table_name是新表的名稱,column1、column2等為新表的列名,datatype為列的數據類型。
可以在每個列名後面加上NULL或NOT NULL,用於指定該列是否可以為空。
在表的定義的最後可以包含約束,如主鍵等。
三、列的數據類型
1、數值型數據類型
數值型數據類型用於存儲數字值。常用的數據類型如下:
- NUMBER(p,s)
- BINARY_INTEGER
- INTEGER
- FLOAT
- DECIMAL(p,s)
2、日期和時間數據類型
日期和時間數據類型用於存儲日期和時間。常用的數據類型如下:
- DATE
- TIMESTAMP
3、字符串數據類型
字符串數據類型用於存儲字符串值。常用的數據類型如下:
- CHAR(size)
- VARCHAR2(size)
- NVARCHAR2(size)
- CLOB
- NCLOB
四、約束
1、主鍵約束
主鍵約束用於標識一張表的主鍵,主鍵的值不能重複。
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], column3 datatype [ NULL | NOT NULL ], ..., CONSTRAINT constraint_name PRIMARY KEY (column1,column2,...) );
2、外鍵約束
外鍵約束用於保證在一個表中的某些列與另一個表中的某些列具有相關性。
CREATE TABLE table1_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], column3 datatype [ NULL | NOT NULL ], …, CONSTRAINT constraint_name FOREIGN KEY (column) REFERENCES table2_name(column) );
3、唯一性約束
唯一性約束用於保證一張表中的某些列的值是唯一的。
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], column3 datatype [ NULL | NOT NULL ], …, CONSTRAINT constraint_name UNIQUE (column1,column2,...) );
五、示例
以下是一個創建名為employees的表的示例:
CREATE TABLE employees ( employee_id NUMBER(10) NOT NULL, first_name VARCHAR2(50) NOT NULL, last_name VARCHAR2(50) NOT NULL, email VARCHAR2(100) NOT NULL, phone_number VARCHAR2(20), hire_date DATE NOT NULL, job_id VARCHAR2(10) NOT NULL, salary NUMBER(8,2), commission_pct NUMBER(2,2), manager_id NUMBER(10), department_id NUMBER(10) NOT NULL, CONSTRAINT employees_pk PRIMARY KEY (employee_id), CONSTRAINT employees_job_fk FOREIGN KEY (job_id) REFERENCES jobs(job_id), CONSTRAINT employees_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id) );
六、總結
Oracle建表語句是定義表結構的命令。在建表語句中,可以定義表的列、列的數據類型、約束等。了解Oracle的建表語句對於Oracle的數據庫開發工作至關重要。
原創文章,作者:LBDJU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/369487.html