SQL 自學筆記3
- 2020 年 1 月 8 日
- 筆記
主鍵和外鍵
主鍵
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)