基本定义
主键(primary key):一列或一组列,其值能够唯一区分表中每个行
特性:1.任何两行都不具有相同的主键值
2.每行必有一个主键值,且不为NULL
注意:主键列的值最好不需要更新,且不会更改
外键(foreign key):指的是某个表中的某一列包含另一个表的主键,即表的外键为另一个表的主键,外键将两个表联系起来。
举个例子
表customers主要存放客户的信息,其中每个客户的ID都不同,因此客户ID可以作为customers表的主键。表orders存放客户的订单信息,包括订单号以及下单时间和客户的ID,我们知道,每个订单的订单号都不相同,因此订单号则可以作为orders表的主键,而orders表中的客户ID就是其外键,联系了customers表和orders表。
如何在表中定义主键和外键
创建表时定义
create table table_name
(
...
primary key(主键列名) //可以将多个列作为主键,这些列的组合必须不同
foreign key(外键列名) references another_table_name(相应的主键列名)
)
创建表后进行定义外键
alter table table_name
add constraint 外键名
foreign key(外键列名) references another_table_name(相应的主键列名)