myslql主外键约束

Posted sacai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了myslql主外键约束相关的知识,希望对你有一定的参考价值。

多表操作

    1.分类表

create table category(
cid varchar(32) primary key,
cname varchar(100)
);

2.商品表
create table product(
pid varchar(32) primary key,
pname varchar(40),
price double,
category_id varchar(32)
);


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‘);

3.联合主外键

alter table product add foreign key(category_id) references category(cid);

技术图片

4.声明外键约束

要想删除主表中与从表有关联关系的数据,可以这么做:

  1. 解除主从表的约束关系
  2. 先删除从表中与主表有关系的数据,再删除主表的数据。
delete  from product where pid in (‘p008‘,‘p009‘)

  

 

以上是关于myslql主外键约束的主要内容,如果未能解决你的问题,请参考以下文章

字段约束,索引,主外键

怎样在oracle中创建主外键和唯一约束

如何修改数据库中主外键约束的数据?

Sql Server有主外键关系时添加删除数据

主外键

Oracle:对表的CREATEALTERINSERTRENAMEDELETE操作练习以及主外键约束