Maison > base de données > tutoriel mysql > Comment puis-je stocker et récupérer efficacement des tableaux de données dans MySQL à l'aide de plusieurs tables ?

Comment puis-je stocker et récupérer efficacement des tableaux de données dans MySQL à l'aide de plusieurs tables ?

Susan Sarandon
Libérer: 2024-12-05 19:54:11
original
465 Les gens l'ont consulté

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

Stockage de tableaux dans MySQL : une solution multi-tables

Dans MySQL, stocker directement des tableaux n'est pas simple en raison de l'absence de tableau type de données. Pour stocker des tableaux de chaînes faisant référence à des valeurs d'une autre table, une approche de conception multi-tables est couramment utilisée.

Conception de table

Créez deux tables : Personne et Fruit. Person contient le nom et une colonne de fruits qui stockera les données du tableau. Le fruit contient le nom du fruit, la couleur et le prix.

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
);
Copier après la connexion

Stockage des données du tableau

Pour stocker un tableau de noms de fruits dans la colonne des fruits, vous pouvez utiliser un liste séparée par des virgules. Par exemple :

INSERT INTO Person (`name`, `fruits`) VALUES ('John Doe', 'apple,banana,orange');
Copier après la connexion

Récupération des données du tableau

Pour récupérer le tableau des noms de fruits d'une personne, utilisez une requête JOIN pour lier les tables Personne et Fruit en fonction sur les valeurs 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;
Copier après la connexion

Cette requête renverra le nom de la personne et les noms de fruits qui lui sont associés.

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