Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je créer et insérer des objets JSON dans des tables MySQL ?

DDD
Libérer: 2024-10-25 09:22:28
original
323 Les gens l'ont consulté

How Can I Create and Insert JSON Objects into MySQL Tables?

Création et insertion d'objets JSON à l'aide de requêtes MySQL

Supposons que vous essayiez de créer des objets JSON et de lire leurs valeurs dans des tables MySQL, mais que vous rencontriez erreurs. Le code fourni cherche à créer un objet JSON et à l'utiliser pour remplir la table Personne :

SET @j = '{"key1": "value1", "key2": "value2"}';
CREATE TABLE Person (name int,id int);
INSERT INTO Person (name,id) SELECT * FROM OPENJSON(@j) WITH (name int,id int);
Copier après la connexion

Pour résoudre ces erreurs, suivez ces étapes :

  1. Définir le type de données JSON pour les colonnes de la table :
    Créez la table Personne avec une colonne de nom du type de données JSON.

    CREATE TABLE `person` (
      `name` json DEFAULT NULL
    );
    Copier après la connexion
  2. Insérer des valeurs JSON :
    Deux options sont disponibles :

    • Syntaxe du tableau : Insérez les données JSON sous forme de tableau à l'aide de crochets.

      INSERT INTO `person` (`name`)
      VALUES ('["name1", "name2", "name3"]');
      Copier après la connexion
    • Clé : Valeur Syntaxe : Insérez des données JSON à l'aide d'accolades et de paires clé-valeur.

      INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
      Copier après la connexion
  3. Sélectionnez les données JSON :
    Récupérez les données JSON à l'aide d'une requête qui vérifie les correspondances dans la colonne de nom.

    SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');
    Copier après la connexion

Notez que cette fonctionnalité est uniquement pris en charge dans les versions MySQL 5.7 ou supérieures avec 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!

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
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!