首页 > 数据库 > mysql教程 > 如何使用多个表在 MySQL 中高效存储和检索数据数组?

如何使用多个表在 MySQL 中高效存储和检索数据数组?

Susan Sarandon
发布: 2024-12-05 19:54:11
原创
464 人浏览过

How Can I Efficiently Store and Retrieve Arrays of Data in MySQL Using Multiple Tables?

在 MySQL 中存储数组:多表解决方案

在 MySQL 中,由于没有数组,直接存储数组并不简单数据类型。要存储引用另一个表中的值的字符串数组,通常使用多表设计方法。

表设计

创建两个表:Person 和 Fruit。 Person 包含名称和一个将存储数组数据的水果列。 Fruit 包含fruit_name、color 和price。

CREATE TABLE Person (
    `id` INT NOT NULL PRIMARY KEY,
    `name` VARCHAR(50),
    `fruits` VARCHAR(255)
);

CREATE TABLE Fruit (
    `fruit_name` VARCHAR(20) NOT NULL PRIMARY KEY,
    `color` VARCHAR(20),
    `price` INT
);
登录后复制

存储数组数据

要在fruits 列中存储水果名称数组,您可以使用以逗号分隔的列表。例如:

INSERT INTO Person (`name`, `fruits`) VALUES ('John Doe', 'apple,banana,orange');
登录后复制

检索数组数据

要检索某个人的水果名称数组,请使用 JOIN 查询来链接基于 Person 和 Fruit 的表在fruit_name值上。

SELECT p.name, f.fruit_name
FROM Person p
INNER JOIN Person_Fruit pf
ON pf.person_id = p.id
INNER JOIN Fruit f
ON f.fruit_name = pf.fruit_name;
登录后复制

此查询将返回人名以及与之关联的水果名称他们。

以上是如何使用多个表在 MySQL 中高效存储和检索数据数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板