Comment puis-je stocker efficacement des tableaux dans une base de données MySQL ?

Mary-Kate Olsen
Libérer: 2024-10-30 11:14:02
original
475 Les gens l'ont consulté

How Can I Store Arrays Efficiently in a MySQL Database?

Stockage de tableaux dans MySQL : un guide complet

Lorsque vous travaillez avec des bases de données relationnelles comme MySQL, il peut être difficile de stocker efficacement des tableaux. Cet article fournit un guide détaillé sur le stockage et la récupération de tableaux dans un seul champ MySQL.

Avantages et inconvénients du stockage sur tableau

Il n'existe pas de « bonnes » façons inhérentes de stocker les tableaux dans un seul champ. La sérialisation et la désérialisation des données à l'aide de fonctions telles que Serialize() et unserialize() peuvent sembler une solution, mais cette approche limite la possibilité d'interrogation et l'intégrité des données.

Approche relationnelle alternative

L'approche recommandée implique de restructurer votre schéma pour éliminer le besoin de stockage sur baie. Par exemple, considérons le tableau suivant :

<code class="php">$a = [
    1 => [
        'a' => 1,
        'b' => 2,
        'c' => 3
    ],
    2 => [
        'a' => 1,
        'b' => 2,
        'c' => 3
    ],
];</code>
Copier après la connexion

Pour stocker ces données dans MySQL, vous créeriez une table comme celle-ci :

<code class="sql">CREATE TABLE test (
  id INT UNSIGNED NOT NULL PRIMARY KEY,
  a INT UNSIGNED NOT NULL,
  b INT UNSIGNED NOT NULL,
  c INT UNSIGNED NOT NULL
);</code>
Copier après la connexion

Cette approche vous permet d'interroger efficacement vos données . Voici des exemples de requêtes MySQL :

<code class="sql">SELECT * FROM test;
INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);</code>
Copier après la connexion

Alternatives supplémentaires

Si vous devez stocker des tableaux dans un seul champ, vous pouvez également envisager d'utiliser des fonctions JSON :

  • json_encode() pour convertir un tableau en chaîne JSON.
  • json_decode() pour reconvertir une chaîne JSON en tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!