添加外键约束:
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 结果 from 表1 left join 表2 on
表1.列1 = 表2.列2
右外连接:即使不满足条件,也会把右边表数据查询出来
select 结果 from 表1 right join 表2 on
表1.列1 = 表2.列2
eg: select number ,name,gender,from stu inner join major on mjorid=id
内连接中:
出现两张表有相同的列名时,我们要进行定义:
1.
select s.number ,s.name,s.phone m.namefrom stu sinner join major m on s.majorid=m.id
满足条件关联在一起
2.
select s.number,s.name,gender,m.name from stu s,major mwhere s.majorid=m.id
先产生一个笛卡尔乘积,后进行条件筛选
(笛卡尔乘积:在SQL中,当出现两张表没有指定的连接语句就会出现)
eg:
统计每个专业有多少学生:
select count(number),m.name mnamefrom stu s right join major m on s.majorid =m.idgroup by m.name