-- 创建书名表 CREATE TABLE tb_books( id int primary key auto_increment, name varchar(24) not null comment "书籍名称", isbn varchar(15) not null comment "编号" ); -- 插入书名 INSERT INTO tb_books(name, isbn) values ("梦里花落知多少", '9787102832855'), ("盗墓笔记", '9787102885255'), ("我不", '9787102859865'), ("你猜", '9787102896745'); -- 创建作者表 CREATE TABLE tb_author( id int primary key auto_increment, name varchar(12) not null comment "作者" ); -- 插入作者 INSERT INTO tb_author(name) values ("三毛"), ("南派三叔"), ("大冰"); -- 创建关系表 CREATE TABLE tb_book_author( id int primary key auto_increment, book_id int, author_id int, foreign key(book_id) references tb_books(id) ON update cascade ON DELETE cascade, foreign key(author_id) references tb_author(id) ON DELETE cascade ON update cascade ); -- 插入关系 insert into tb_book_author(book_id, author_id) values(1, 1), (2, 2), (3, 3), (4, 3);
上面仅仅演示了 多对多的情况, 无非就是通过中间表来绑定双方的关系
一对一, 一对多, 只需要在使用率较高的一张表上 创建外键 并使用 unique 即可