Maison > Article > base de données > Comment utiliser la fonction json_extract dans MySQL
Dans le développement commercial quotidien, un champ de la base de données MySQL doit généralement stocker une chaîne au format json lors de l'interrogation, les données json sont parfois volumineuses et chaque fois qu'elles sont supprimées. , la requête est analysée. C'est moins efficace et plus gênant.
Heureusement, Mysql5.7 et les versions ultérieures fournissent la fonction json_extract, qui peut interroger la valeur via la clé (s'il s'agit d'un type de tableau json, vous pouvez obtenir la valeur. de la position correspondante via l'indice), ce qui est très pratique.
Nouvelles fonctions après la version Mysql5.7, Mysql fournit un type Json natif qui ne sera plus stocké sous forme de chaînes, mais sera stocké dans. a Un format binaire interne qui permet une lecture rapide des éléments du document. Le texte Json sera automatiquement vérifié lors de l'insertion ou de la mise à jour d'une colonne Json. Le texte qui échoue à la vérification générera un message d'erreur. Le texte Json est créé de manière standard et la plupart des opérateurs de comparaison peuvent être utilisés pour des opérations de comparaison, telles que : =, 91eef5681cad6f0cc96f9adeb2931b45, >=, a8093152e673feb7aba1828c43532094, != et <= > ;.
Les données stockées sont une chaîne json (le type est vachar).
Si vous souhaitez interroger la valeur d'un certain champ en json, la méthode utilisée est : JSON_EXTRACT().
Syntaxe :
**JSON_EXTRACT(json_doc, path[, path] …)**
Conseils d'utilisation :
Si la chaîne json n'est pas un tableau, utilisez $.Field name directement
$.字段名
如果json字符串是数组[Array],则直接使用 $[对应的索引ID]
JSON_EXTRACT性能验证 , 通过查看执行计划,验证全部都是全表扫描。
使用场景:数据量不大json字符串较大则可以采用,数据量较大不建议使用。
说明:
普通字段使用 $.KEY
获取
数组字段使用 $.KEY[index]
$[corresponding index ID]
3.1 Extraire les valeurs du json ordinaire | Instructions : | Utilisez $.KEY pour les champs ordinaires pour obtenir |
Utilisez $. CLÉ pour les champs de tableau [index] Obtenez, notez que l'index commence à 0 |
||
---|---|---|---|---|---|
"zhangsan" | 136- 6666-6666 | "basketball " | "run" |
id | ||
---|---|---|
1 | ||
["COMMON"] | 2 | |
["VIP"] | 3 | |
["VVIP","PLATINE" ] | 4 |
id | ||
---|---|---|
1 | ||
"COMMUN" | 1 |
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!