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 ?
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 );
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');
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;
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!