主键和外键
主键
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)