首頁 >資料庫 >mysql教程 >如何在 MySQL 中儲存和檢索類似數組的資料?

如何在 MySQL 中儲存和檢索類似數組的資料?

Barbara Streisand
Barbara Streisand原創
2024-12-13 17:27:12915瀏覽

How Can I Store and Retrieve Array-Like Data in MySQL?

在MySQL 資料庫中儲存數組的方法

雖然MySQL 本身不支援數組,但它提供了儲存類似數組的資料的替代方法。一種常見的方法是利用多個表並使用 JOIN 操作在它們之間建立關係。

建立多個表格

考慮問題中所描述的場景。要將水果陣列儲存在 Person 表的「fruits」欄位中,我們可以建立以下表格:

  • Person:

    • id (INT)
    • 姓名(VARCHAR(50))
  • 水果:

    • 水果名稱(VARCHAR(20))
    • 水果名稱(VARCHAR(20))
    • 顏色(VARCHAR(20) ))
  • 價格(INT)
    • Person_Fruit(連結表):
    • person_id (INT)
person_id (INT)

fruit_name (VARCHAR(20))

建立關係

Person_Fruit 表用作連結表,以建立多對多關係表和Fruit 表之間有許多關係。表中的一行表示特定的人和特定的水果之間的關係。

(1, "apple")
(1, "orange")
(1, "banana")
儲存類似陣列的資料

儲存一個人的一組水果「fruits」列,在 Person_Fruit 表中插入多行,每行代表一個水果。

例如,儲存水果對於id=1 的人,“apple”、“orange”和“banana”,請將以下行插入到Person_Fruit 中:

SELECT p.`name` AS `person_name`, GROUP_CONCAT(f.`fruit_name`) AS `fruits`
FROM Person AS p
INNER JOIN Person_Fruit AS pf ON p.`id` = pf.`person_id`
INNER JOIN Fruit AS f ON pf.`fruit_name` = f.`fruit_name`
GROUP BY p.`name`
檢索類別數組資料 要檢索某個人的水果數組,請使用以下命令連接Person、Person_Fruit 和 Fruit 表查詢:

以上是如何在 MySQL 中儲存和檢索類似數組的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn