Maison  >  Article  >  base de données  >  Comment stocker et récupérer efficacement des données JSON dans des tables MySQL ?

Comment stocker et récupérer efficacement des données JSON dans des tables MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 05:32:02383parcourir

How to Efficiently Store and Retrieve JSON Data in MySQL Tables?

Création et insertion d'objets JSON dans des tables MySQL

Lorsque vous travaillez avec des données JSON dans MySQL, vous pouvez rencontrer des défis si vous n'êtes pas familier avec le processus. Voici un guide étape par étape pour vous aider.

Création d'une table avec le type de données JSON

Pour stocker efficacement les données JSON, vous devrez définir votre colonnes de table avec le type de données JSON. Par exemple :

<code class="sql">CREATE TABLE `person` (
  `name` JSON DEFAULT NULL
);</code>

Insérer des données JSON

Il existe plusieurs façons d'insérer des données JSON dans votre table MySQL :

1 . Insertion de tableaux JSON

Pour insérer un tableau de valeurs, placez-les entre crochets et utilisez la fonction JSON_CONTAINS dans votre requête :

<code class="sql">INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');</code>

2. Insertion d'objets JSON (clé : paires de valeurs)

Pour insérer des objets JSON individuels, utilisez des accolades pour entourer vos paires clé-valeur :

<code class="sql">INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');</code>

Sélection des données JSON

Une fois que vous avez inséré vos données JSON, vous pouvez récupérer des enregistrements spécifiques à l'aide de la fonction JSON_CONTAINS :

<code class="sql">SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');</code>

Remarque : Ces fonctionnalités nécessitent la version MySQL 5.7 ou supérieur et moteur de stockage InnoDB.

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!

Déclaration:
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