Maison >base de données >tutoriel mysql >Comment créer et insérer efficacement des données JSON dans des tables MySQL ?

Comment créer et insérer efficacement des données JSON dans des tables MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 13:27:30361parcourir

How Can You Effectively Create and Insert JSON Data into MySQL Tables?

Requêtes MySQL : création et insertion d'objets JSON

Créer un objet JSON et utiliser ses valeurs dans des requêtes MySQL peut présenter des défis, en particulier pour les débutants . Cet article aborde les problèmes courants rencontrés lors de la tentative d'établissement d'objets JSON et de lecture de leurs données dans des tables MySQL.

Une erreur courante se produit lors de la tentative de création d'une table avec des champs de type de données JSON. Pour résoudre ce problème, la syntaxe correcte implique de définir explicitement le type de champ sur JSON lors de la création de la table. Par exemple :

CREATE TABLE Person (name JSON DEFAULT NULL);

Une fois la table créée avec le type de données approprié, l'insertion de données JSON devient simple. Il existe deux méthodes principales pour insérer des données JSON :

  1. Insertion de tableaux JSON : Lors de l'insertion de tableaux JSON, placez les valeurs entre crochets :
INSERT INTO Person (name) VALUES ('["name1", "name2", "name3"]');
  1. Insertion d'objets JSON (paires clé:valeur) : Placez les paires clé-valeur entre accolades :
INSERT INTO Person VALUES ('{"pid": 101, "name": "name1"}');

Pour sélectionner des données JSON spécifiques, utilisez la fonction JSON_CONTAINS :

SELECT * FROM Person WHERE JSON_CONTAINS(name, '["name1"]');

Il est crucial de noter que la prise en charge de JSON dans MySQL est limitée à MySQL 5.7 et aux versions supérieures, et ne fonctionne qu'avec le 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