mysql创建关联表的⽅法_MySQL多表创建关联及操作
外键
现在有两张表“分类表”和“商品表”,为了表明商品属于哪个 类别,通常情况下,我们将在商品上添加⼀列,⽤来存放分类的cid信息,此列成为外键。
lookup函数公式怎么使用啊此时,分类表 category 称作主表,cid 成为主键。商品表 products 成为从表,category_id 成为外键。
通过主表和从表的外键描述主外键的关系,呈现的就是⼀对多的关系。
外键特点
1. 从表外键的值是对主键的引⽤。
2. 从表外键类型必须与主表主键类型⼀致。
声明外键约束
语法:
alter table 从表 add[constraint] [外键名称] foreign key (从表外键在字段名)references 主表(主表的主键);
[外键名称] ⽤于删除外键约束的,⼀般建议 “ _fk ”结尾。
alter table 从表 drop foreign key 外键名称
switch中文名叫什么实际操作
创建数据库
创建分类表
1.分类表
create table category(
cid varchar(32) primary key,
cname varchar(100)
);
创建商品表
可以删掉吗2.商品表
create table product(
pid varchar(32) primary key,
pname varchar(40),
pricedouble,
category_id varchar(32)
);
设置编码格式
set name gbk;
添加点数据
insert into category(cid,cname) values('c001','家电');
insert into category(cid,cname) values('c002','服饰');
insert into category(cid,cname) values('c003','化妆品');
insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');
insert into product(pid,pname,price,category_id) values('p002','海尔','5000','c001');
insert into product(pid,pname,price,category_id) values('p003','雷神','5000','c001');
insert into product(pid,pname,price,category_id) values('p004','JACK JONES','800','c002'); insert into product(pid,pname,price,category_id) values('p005','真维斯','200','c002');
insert into product(pid,pname,price,category_id) values('p006','花花公⼦','440','c002'); insert into product(pid,pname,price,category_id) values('p007','劲霸','2000','c002');
insert into product(pid,pname,price,category_id) values('p008','⾹奈⼉','800','c003');
insert into product(pid,pname,price,category_id) values('p009','相宜本草','200','c003');
最后⼀列 category_id 列在创建表的时候⾃⼰定义的,如果没有,则可以使⽤⼀下命令添加⼀列。
alter table product add category_id
链接两张表
alter table product add foreign key(category_id) references category(cid);
两张表已经关联,主表有外键约束。不能轻易删除主表数据,因为从表有他的记录。
要想解除关系,先删除从表对他有关系的数据删除,再删除主表数据。
使⽤外键的⽬的
保证数据的完整性。
注意事项
从表外键不能添加主表中不存在的记录。
主表不能删除从表中已经引⽤的记录。
表与表之间的关系
表语表之间的关系,说的就是表与表数据之间的关系。
⼀对多的关系
常见的实例:客户和订单,分类和商品,部门和员⼯。
⼀对多建表原则:在从表(多⽅)创建⼀个字段,字段作为外键指向主表的主键。
alter table 从表 add [constraint][外键名称] foreign key(从表外键在字段名) references 主表(主表的主键);
多对多的关系
常见的实例:学⽣和课程,商品和订单,演员和⾓⾊。
多对多关系建⽴表原则:需要创建第三张表,中间表中⾄少两个字段,这两个字段分别作为外键指向各⾃⼀⽅的主键。
建⽴关系
alter table stu_course add foreign key(sno) references stu(sid);
extern翻译alter table stu_course add foreign key(sno) references course(cid);
⼀对⼀关系(了解)
在实际开发中应⽤不多,因为⼀对⼀可以创建成⼀张表。
两种建表原则:
外键唯⼀:主表的主键和从简的外键唯⼀,形成主外键关系,外键唯⼀ unique。
外键是主键:主表的主键和从表的主键,形成主外键关系。
多对多连接
实现如下表结构:
创建订单表
create table orders(c语言从入门到放弃图片
oid varchar(32) primary key,
totalpricedouble);
创建经单项的表(中间表)
create table orderitem(
oid varchar(50),
pid varchar(50)
);
mysql语句多表查询关联两张表
alter table orderitem add constraint orderitem_fk foreign key(oid) references orders(oid);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论