Le type de données du champ mysql prend en charge le format json et peut stocker directement des tableaux json et des objets json.
1. Insérez sous la forme de chaînes ordinaires et devez suivre le format json
2 Utilisez les fonctions intégrées (JSON_OBJECT et JSON_ARRAY) pour créer des données JSON, puis insérez-le
1 -> 'chemin' et le formulaire JSON_EXTRACT(colonne, 'chemin') pour accéder aux données spécifiques du champ spécifié. (*Notez que le chemin doit être placé entre guillemets simples)
où colonne représente le nom de colonne du champ de données à interroger ;
chemin est le chemin d'accès aux données JSON et le format du chemin est $.path ou $[ idx].
$.path est utilisé pour les données de type objet JSON ;
$[idx] est utilisé pour les données de type tableau JSON ;
$ représente le nœud racine de l'ensemble des données JSON ;
path est la clé du champ d'accès. contient des espaces, vous devez utiliser des guillemets doubles, tels que $."nick name"; (* Notez que les noms de champs chinois doivent également être mis entre guillemets doubles)
[idx] est l'index du tableau.
2, ->
和JSON_EXTRACT查询到的字段字符串类型还会有个双引号,还需要做一层处理,可以使用 ->>和JSON_UNQUOTE
sont supprimés et les caractères d'échappement sont également supprimés.
JSON_UNQUOTE(JSON_EXTRACT(column, path)) est équivalent à column->>path
3. Il existe deux méthodes de requête à plusieurs niveaux :
① column -> point Méthode de connexion numérique pour accéder aux champs du sous-ensemble
② JSON_EXTRACT(JSON_EXTRACT(column, path), path) Méthode d'imbrication JSON_EXTRACT
③column->'$[*].key' Vous pouvez interroger toutes les clés du tableau json et renvoyer le tableau
1. Requête exacte pour les champs de type Json
où colonne-> '$.key' = valeur
2. >'$ [*].key' comme '%value%'
3. Requête exacte pour les champs de type JsonArray
où JSON_CONTAINS(column,JSON_OBJECT('key', "value"))
4. relations de niveau, requête floue pour tous
où colonne->'$**.key' comme '%value%'
IV. Opération de mise à jour du champ JSON 1. Mettre à jour le champ
JSON_SET(column, path, val[, path, val] ..) Mettre à jour ou insérer
JSON_REPLACE(column, path, val[, path, val] ...) Mettre à jour uniquement
2. Nouveaux champs
JSON_INSERT(column, path, val[, path, val] .. .) L'insertion de nouveaux champs ne modifiera pas les champs existants
3 Supprimer les champs
JSON_REMOVE(column, path[, path] ...) Supprimer les champs
.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!