添加外键约束:
alter table 表名 drop foreign_key fk(外键约束)_ 表名_列名_列名
? 添加约束规则:
? 1.主表中没有对应记录,不能将记录添加到从表
? 2.从表存在与主表对应的记录,不能从主表中删除该行
? 3.删除主标前,先删从表
??
? 删除外键:alter table 表名 drop foreign key fk_表名_列名_列名
? 多对多选择:一对多或多对一都可以添加一个外键实现
? ?
? 关联查询,多表关联 信息来自两张表中
? 关联是没有任何限制,会产生笛卡尔乘积现象
? 要添加有效连接条件
? 按功能分:内连接:
? 把满足两张表中交交集部分数据查询出来
? ?select 结果 from 表1,表2 where 表1 column1=表2.column2 ?
? ? ? ? ? ? 外连接:左外连接:即使不满足条件,也会把左边表数据查询出来
?? ??? ??? ? ? ? ?select ?结果
? ??? ??? ??? ??? ? ? ?右外连接:即使不满足条件,也会把右边表数据查询出来
?? ?select 列名1,列名2*from 表名 inner join 表名2 ?on 列名 =列名
? eg: ?select number ,name,gender,from stu inner join major on mjorid=id
? 内连接中:
?出现两张表有相同的列名时,我们要进行定义:
?1.
?select?
?s.number ,s.name,s.phone ? m.name
?from stu s
?inner join major m on s.majorid=m.id ?
满足条件关联在一起
?2.
?select?
?s.number,s.name,gender,m.name?
?from stu s,major m
?where s.majorid=m.id
? 先产生一个笛卡尔乘积,后进行条件筛选
?
eg:
?统计每个专业有多少学生:
?
select count(number),
?m.name ?mname
?from?
?stu s right join major m on s.majorid =m.id
?group by m.name ?