mysql如何实现多对一

2023-12-11 20:30:12 举报文章

什么是多对一

在关系型数据库中,数据之间通过主外键关系联系在一起。如果一个表中的多条数据都关联到另外一个表中的同一条数据,那么这就是多对一的关系。

如何在MySQL中实现多对一

在MySQL中实现多对一需要使用外键约束。外键约束指的是在创建表的时候,将表之间的关系通过外键进行定义。

比如有两张表:文章表和分类表。每篇文章只属于一个分类,但是一个分类下可能有多篇文章。

--by www.qzphp.cn
CREATE TABLE category (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);
CREATE TABLE article (
  id INT PRIMARY KEY,
  title VARCHAR(100),
  content TEXT,
  category_id INT,
  FOREIGN KEY (category_id) REFERENCES category(id)
);
 

在文章表中,我们创建了一个外键约束,将分类表的id字段设置为外键。这样就可以实现多篇文章关联到同一个分类。

多对一的查询

在查询多对一关系的数据时,可以通过JOIN语句将两个表进行连接。

--by www.qzphp.cn
SELECT 
  article.id, 
  article.title, 
  category.name 
FROM 
  article 
  JOIN category 
  
  ON article.category_id = category.id;
 

这样就可以查询出所有文章的标题以及对应分类的名称。

如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!