CTEATE_TABLE創建表
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
-
column_name 參數規定表中列的名稱。
-
data_type 參數規定列的數據類型(例如 varchar、integer、decimal、date 等等)。
-
size 參數規定表中列的最大長度。
實例:
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
創建一個表名爲Persons
的表。
包含5個屬性。
給屬性添加約束
-
NOT NULL - 指示某列不能存儲 NULL 值。
-
添加 NOT NULL 約束 : 在一個已創建的表的 “Age” 字段中添加 NOT NULL 約束如下所示 :
-
ALTER TABLE Persons MODIFY Age int NOT NULL;
-
刪除 NOT NULL 約束 : 在一個已創建的表的 “Age” 字段中刪除 NOT NULL 約束如下所示:
-
ALTER TABLE Persons MODIFY Age int NULL;
-
-
UNIQUE - 保證某列的每行必須有唯一的值。
-
添加多個唯一列:
-
CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName) )
-
添加alter表中的約束
-
ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
-
去除添加的約束
-
ALTER TABLE Persons DROP CONSTRAINT uc_PersonID
-
-
PRIMARY KEY - NOT NULL 和 UNIQUE 的結合。確保某列(或兩個列多個列的結合)有唯一標識,有助於更容易更快速地找到表中的一個特定的記錄。
-
添加多列關聯主鍵
-
CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) )
註釋: 主鍵pk_PersonID是聯合生產。
-
-
FOREIGN KEY - 保證一個表中的數據匹配另一個表中的值的參照完整性。
-
CHECK - 保證列中的值符合指定的條件。
-
DEFAULT - 規定沒有給列賦值時的默認值。
實例:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P) //PRIMARY KEY約束
)
CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY, //PRIMARY KEY約束
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
添加列的註釋
Oracle使用comment
語句來創建列、表、視圖等的註釋。
COMMENT ON TABLE tb | COLUMN tb.cols IS 'text';
其中, tb 是表的名字, cols 是表中列的名字, text 是註釋的文本。可以用設置註釋爲空串( ‘’ )的辦法從數據庫中刪除一個註釋。
實例:
COMMENT ON TABLE employees IS '';
COMMENT ON TABLE HR.employees IS 'Employee Information';
COMMENT ON COLUMN HR.employees.FIRST_NAME IS 'Employee FIRST_NAME';