多表操作

外键保证了数据的完整性。主表不能删除从表中已经引用的记录 ,从表中不能添加主表中不存在的记录。
一对多,选择多表为从表
1.声明外键约束
alter  table  从表  add  [ constraint  外键名]    foreign   key(外键字段名)   references  主表(主表主键字段名);
2.删除主表中的数据
直接删除肯定是不成功的
第一种方式:alter table 从表  drop   外键名  foreign key  外键字段名
第二种方式:先把从表里与要删除数据相关的数据删除,再删主键的数据
多对多,创建第三张表,中间表至少两个字段,这两个字段分别作为外键指向各自一方主键。
比如学生与课程的关系
alter table 第三张表  add  foreign  key(外键字段)  reference   表(学生)  (主键)
alter table 第三张表 add foreign key(外键字段)     reference 表(课程) (主键)
一对一建表
第一种方式  直接主键值相同
第二种方式   将一方作为从表添加外键指向主表,并将从表的外键字段名设为unique;3.多表查询
交叉查询(结果a*b条)
select *  from  a表,b表;
内连接查询
隐式查询   select  *   from   a,b  where   条件
显式查询  select  *   from  a [inner]  join  b  on  条件
外连接查询
左外连接查询 select  *  from  a  left  [outer]  join b  on  条件;
右外连接查询 select  *  from  a   right [outer]  join b  on  条件;
子查询(一条select语句的结果作为另一条select 的一部分(查询条件,结果,表等))

时间: 2018年08月31日下午21:44  |  
作者:
LEAVE A REPLY

loading