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,字段类型一般和主表的主键类型保持一致,为了保证数据的有效性和完整性,在多表的外键上添加外键约束即可。
多对多的关系:商品和订单
每个商品可以属于不同的订单
--创建商品表