多表操作之1对1
- 1对1的关系在两张表任意一张建立关联字段并且加Unique,比如
作者表 author
id name age
1 alex 18
2 blex 30
3 clex 25
作者个人信息表 authordetail
id addr gender tel author_id(Unique)
1 北京 男 123 1
2 南京 女 1234 2
3 上海 人妖 3311 3
create table authordetail(
id int primary key auto_increment,
addr varchar(20),
gender enum("male","female"),
tel int(11)
author_id int unique,
);
出版社 publish
id name book
1 北京出版社 18
2 南京出版社 30
3 天津出版社 25
create table publish(
id int primary key auto_increment,
name varchar(20)
);
书籍 book 在书籍和出版社对应关系中,一个出版社会出版多本书籍,因此把多个出版社id放在book表中创建一对多的关系,并且==要建立约束==,创建关系是为了查询,创建约束是为了防止产生脏数据
id bookname price publish_id
1 python 10 1
2 java 20 1
3 go 58 2
4 php 79 3
create table book(
id int primary key auto_increment,
bookname varchar(20),
price decimal(8,2),
publish_id int,
foreign key(publish_id) reference book(id),
);