SQL中的外键约束及多表查询

本文探讨了SQL中的外键约束,用于建立数据库表之间的关联,如在用户、商品和订单表中的一对多和多对多关系。同时,介绍了多表查询的不同类型,包括内连接、外连接,以及如何根据特定条件查询用户订单和价格信息。
摘要由CSDN通过智能技术生成

SQL中的外键约束及多表查询

外键约束

foreign key

实体:数据库中的表,就可以看作一个实体,实体和实体之间有一些关系

比如说做一个网上商城的项目,里面有用户表,商品表,订单表

一对多的关系:用户和订单

用户和订单,用户表属于单表一方,订单表属于多表,意思是一个用户可以有多张订单

--创建用户表
create table user(
	id int primary key auto_increment,
    username varchar(10)
);
--创建订单表
create table orders(
	id int primary key auto_increment,
    totalprice double,
    user_id int
);

--我们要添加外键约束,让两张表之间产生制衡,我们就在多表一方添加外键约束,去关联主表一方的主键

--修改表来添加主键约束
alter table orders add foreign key(user_id) references user(id)

--添加了外键约束,主表一方不能删除多表还在引用的数据,多表一方不能添加主表没有描述的数据

--开发中处理一对多:在多表中添加一个外键,名称一般为主表的名称id,字段类型一般和主表的主键类型保持一致,为了保证数据的有效性和完整性,在多表的外键上添加外键约束即可。

多对多的关系:商品和订单

每个商品可以属于不同的订单

--创建商品表
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值