Mac环境下的MySQl基础操作(二)

外键

概念

用来通知数据库两张表,列和列 之间的对应关系,并且让数据库维护这个关系的键,就叫外键

假如现在有两张表

                 

此时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 条件    这时候表二查询出来的是全部数据

 

 

 

 

 

 

 

 

 

 

 

 

表关系 

一对多:班级对学生,一个班级可以有多个学生,一个学生只能属于一个班级;

多对一:上面的反过来;

一对一:班级对教室;

多对多:学生对老师,学生可以有多个老师,老师可以教多个学生

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章