1.外键:用来描述两张表之间的关系(某商品属于哪个分类,需要在该商品上添加category_id),从表的外键指向主表的主键
2.外键声明:alter table product add foreign key(category_id) references category(cid);
指定category_id为外键并且给外键起一个外键名:
alter table product add [constraint category_id_fk] foreign key(category_id) references category(cid);
在创建表的时候声明外键:
pname varchar(20), [constraint category_id_fk] foreign key(category_id) references category(cid);
3.解除外键关系:alter table product dorp foreign key(category_id_fk) ; 这里的外键名称不是声明外键的列名,而是constraint后面的外键名
4.多表的注意事项:
1.从表中不能添加主表不存在的记录。比如主表的主键没有004,从表中就不能添加外键为004的记录
2.主表中不能删除从表中有引用的数据。比如删除主表中的004,而在从表中的外键有004,则不能删除。要想删除必须解除外键关系。或者先删除从表的数据,再删除主表的数据
5.使用外键的目的:保证数据的完整性。为什么?因为有些数据不能在一张表中完全显示出来,需要多张表