外键
概念
用来通知数据库两张表,列和列 之间的对应关系,并且让数据库维护这个关系的键,就叫外键
假如现在有两张表
此时CommandDetail表设置了外键,关联到了Command表的id,所以,此时如果删除Command表的牛仔裤或者毛衣,是无法删除的,因为CommandDetail中有数据与之关联,数据库自动帮我们维护了这个关系
多表查询
select * from Command,CommandDEtail;//两张表之间用逗号隔开
这种方式可以实现,但是会包含一些错误数据,也叫笛卡尔积查询
关联查询
过滤上面的错误数据,保留正确的属性对应的数据:这样的话保留下来的只有两个表中同时都有的数据
select * from Command,CommandDEtail where Command.id=CommandDetail.id;
左外连接查询和右外连接查询
select * from Command left join CommandDetail on Command.id=CommandDetail.id;
这里做个解释:表一 left join 表二 on 条件 这时候表一查询出来的是全部数据
select * from Command right join CommandDetail on Command.id=CommandDetail.id;
这里做个解释:表一 right join 表二 on 条件 这时候表二查询出来的是全部数据
表关系
一对多:班级对学生,一个班级可以有多个学生,一个学生只能属于一个班级;
多对一:上面的反过来;
一对一:班级对教室;
多对多:学生对老师,学生可以有多个老师,老师可以教多个学生