外键
多表查询本质: 把多个表通过主外键关联关系连接(join)合并成一个大表,再去查询
外键概念:在从表(多方)创建一个字段,引用主表(一方)的主键,对应的这个字段就是外键
外键特点:
1.从表外键的值是对主表主键的引用
2.从表外键类型,必须与主表主键类型一致
外键约束
知识点
外键约束关键字: foieign key
外键约束的作用:
限制从表插入:如果从表插入的外键值,在主表中不存在,就插入失败
限制主表删除:如果主表的主键值已经被从表引用,在主表删除数据的时候,就删除失败
注意:如果想要使用外键约束,存储引擎需要是InnoDB
建表时添加外键约束:create table 从表名(...[CONSTRATNT]) foreign key(外键名) references 主表名(主键名);
建表后添加外键约束:create table 从表名 add [CONSTRATNT] foreign key(外键名) references 主表名(主键名);
示例
# 分类表
CREATE TABLE category
(
cid VARCHAR(32) PRIMARY KEY,
cname VARCHAR(100) #分类名称
);
# 商品表
CREATE TABLE products
(
pid varchar(32) PRIMARY KEY,
pname VARCHAR(4