外键是什么 有什么用
展开全部
外键就是避免外键表与主键表上的主键字段数据有差异。
举个例子,你现在有一个主表tab_h,主键t_id,外键表tab_d,t_id是tab_h的t_id外键。那么你就不能先insert tab_d 或者delete tab_d,因我t_id在tab_h中没有值。这样就违反了外键约束。
当然了,避免这个麻烦,就需要代码写的规范,无论如何,要先对主表做insert ,delete(update 无所谓,但不能修改t_id为tab_h中没有的值)。
内连接就是两个表,通过1个字段连接起来,必须两个表里都有的值才能被连接。外连接就是把两个表全部连接,即使没有的值用null会表示出来。比如
tab1 tab2
t_id t_name t_id t_name
1 a 1 a
2 b 3 e
4 d 4 d
select * from tab1 a join tab2 b on a.t_id=b.t_id ---内连接
t_id t_name t_id t_name
1 a 1 a
4 d 4 d
select * from tab1 a full join tab2 b on a.t_id=b.t_id ---外连接
t_id t_name t_id t_name
1 a 1 a
2 b
3 e
4 d 4 d
举个例子,你现在有一个主表tab_h,主键t_id,外键表tab_d,t_id是tab_h的t_id外键。那么你就不能先insert tab_d 或者delete tab_d,因我t_id在tab_h中没有值。这样就违反了外键约束。
当然了,避免这个麻烦,就需要代码写的规范,无论如何,要先对主表做insert ,delete(update 无所谓,但不能修改t_id为tab_h中没有的值)。
内连接就是两个表,通过1个字段连接起来,必须两个表里都有的值才能被连接。外连接就是把两个表全部连接,即使没有的值用null会表示出来。比如
tab1 tab2
t_id t_name t_id t_name
1 a 1 a
2 b 3 e
4 d 4 d
select * from tab1 a join tab2 b on a.t_id=b.t_id ---内连接
t_id t_name t_id t_name
1 a 1 a
4 d 4 d
select * from tab1 a full join tab2 b on a.t_id=b.t_id ---外连接
t_id t_name t_id t_name
1 a 1 a
2 b
3 e
4 d 4 d
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-12-03 广告
2024-12-03 广告
作为北京饼干科技有限公司的一员,对于市场上各类工具都有所了解。就AiPPT而言,它确实为用户提供了便捷高效的PPT制作体验。通过智能化的辅助功能,用户能够快速生成专业且富有创意的演示文稿,极大地节省了时间和精力。无论是对于个人用户还是企业团...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询