SQL 自學筆記3

主鍵和外鍵

主鍵

PRIMARY KEY 約束唯一標識數據庫表中的每條記錄。

主鍵必須包含唯一的值。

主鍵列不能包含 NULL 值。

每個表都應該有一個主鍵,並且每個表只能有一個主鍵。

創建表時添加主鍵

CREATE TABLE Table_Eg{

Id INT PRIMARY KEY,

Eg CHAR(20)

}

可對多列設置主鍵

CREATE TABLE Table_Eg{

Id INT,

Eg CHAR(20)

CONSTRAIN pk_Table_Eg (Id,Eg)

}

已創建的表添加主鍵

ALTER TABLE Table_Eg

ADD PRIMARY KEY(Id)

刪除主鍵約束(P.S. 所有刪除約束的方法均如此)

ALTER TABLE Table_Name

DROP CONSTRAINT Constraint_Name

對於上表而言,為

ALTER TABLE Table_Eg

DROP CONSTRAINT pk_Table_Eg

外鍵

一個表中的 FOREIGN KEY 指向另一個表中的 PRIMARY KEY。

FOREIGN KEY 約束用於預防破壞表之間連接的動作。

FOREIGN KEY 約束也能防止非法數據插入外鍵列,因為它必須是它指向的那個表中的值之一。

比如,我們創建一張表Table_FK,其中的Id_Eg指向Table_Eg的主鍵Id

CREATE TABLE Table_FK{

Id INT,

Fk CHAR(20)

Id_Eg INT FOREIGN KEY REFERENCES Table_Eg(Id),

}

若已建表Table_FK,但未建外鍵,可使用如下語句:

ALTER TABLE Table_FK

ADD FOREIGN KEY(Id_Eg) REFERENCES Table_Eg(Id)