MySql教程

mysql 外键 foreign key 一对一 一对多 多对多 约束

本文主要是介绍mysql 外键 foreign key 一对一 一对多 多对多 约束,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-- 创建书名表
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 即可

 

这篇关于mysql 外键 foreign key 一对一 一对多 多对多 约束的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!