SQL主键、外键和索引之间的比较

主键(primary key) 能够唯一标识表中某一行的属性或属性组。一个表只能有一个主键,主键常常与外键构成参照完整性约束,防止出现数据不一致。主键可以保证记录的唯一性。

P_Id int NOT NULL PRIMARY KEY
命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
只有一个主键 PRIMARY KEY(pk_PersonID)。然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。

外键(foreign key)是用于建立和加强两个表数据之间的链接的一列或多列。外键约束主要用来维护两个表之间数据的一致性。简言之,表的外键一般是另一表的主键,外键将两表联系起来。

FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)REFERENCES Persons(P_Id)

索引是一种特殊的查询表,可以被数据库搜索引擎用来加速数据的检索。简单说来,索引就是指向表中数据的指针。

三者比较:
名称作用个数
主键用来保证数据完整性主键只能有一个
外键用来和其他表建立联系用一个表可以有多个外键
索引用来提高查询排序的速度一个表可以有多个索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值