首頁 > 資料庫 > mysql教程 > 在沒有原生數組支援的情況下,如何在 MySQL 中有效地儲存和檢索類似數組的資料?

在沒有原生數組支援的情況下,如何在 MySQL 中有效地儲存和檢索類似數組的資料?

Mary-Kate Olsen
發布: 2024-12-06 12:53:12
原創
780 人瀏覽過

How Can I Efficiently Store and Retrieve Array-like Data in MySQL Without Native Array Support?

在 MySQL 中儲存陣列

在 MySQL 等關聯式資料庫管理系統中,本身不支援陣列。因此,在 MySQL 表中儲存數組是一個挑戰。

問題陳述:

考慮 MySQL 中的兩個表:

  • 桌子人:

    • id(整數,主鍵)
    • 名稱(字串)
    • 水果(字串或字串數組)
  • 桌子水果:

    • fruit_name(字串,主鍵)
    • 顏色(字串)
    • 價格(整數)

目標是設計Person表中的fruits列,以便它可以儲存數組與 Fruit 表的 Fruit_name 列中的值相對應的字串。

解決方案:

為了解決這個問題,我們需要採用一種稱為「的關係建模技術」多對多關係。 「此技術涉及引入一個稱為「連接表」或「關聯表」的中間表來連結兩個主表。

在這種情況下,我們可以建立一個包含以下列的Person_Fruit 表:

  • person_id(Person 中id 的外鍵)
  • fruit_name(Person 中水果_name的外鍵)水果)

此表將每個人與他們相關的水果聯繫起來。查詢:

到從表格中擷取資料及其相關水果,我們可以使用以下指令查詢:

結論:
SELECT p.*, f.*
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中儲存和檢索數組,即使它們本身不受支援。

以上是在沒有原生數組支援的情況下,如何在 MySQL 中有效地儲存和檢索類似數組的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板