Maison > base de données > tutoriel mysql > Comment supprimer le champ json dans MySQL

Comment supprimer le champ json dans MySQL

WBOY
Libérer: 2023-05-28 13:24:44
avant
4137 Les gens l'ont consulté

    Conseils pour récupérer les champs json à partir de mysql

    Parfois, certaines informations sont stockées dans la base de données sous forme json si elles sont trop longues, le SQL s'exécutera plus lentement pendant le processus de récupération si seules certaines valeurs clés sont. récupéré, ce sera du gaspillage

    Utilisez la fonction JSON_EXTRACT()

    ±—±---------------------------------------------------------------+
    | id | data |
    ±—±---------------------------------------------------------------+
    | 1 | {“Tel”: “132223232444”, “name”: “david”, “address”: “Beijing”} |
    | 2 | {“Tel”: “13390989765”, “name”: “Mike”, “address”: “Guangzhou”} |
    ±—±---------------------------------------------------------------+
    Copier après la connexion
    select json_extract('{"name":"Zhaim","tel":"13240133388"}',"$.tel");
    Copier après la connexion

    dans Spark SQL Utilisez get_json_object()

    select get_json_object(i.extra, '$.sale_currency');
    select sum(get_json_object(i.extra, '$.sale_price') * i.count) as sale_price;
    Copier après la connexion

    mysql pour obtenir json Si vous ne connaissez pas la clé, obtenez sa valeur détaillée

    { "selects" :{ "20071090" :{ "NN" : 41,
    "LXFS1" : "12365",
    "GH" : "20071090",
    "RZZW" : "办公室主任",
    "sxzym" : "园林植物与观赏园艺",
    "ZC" : "副教授",
    "XGW" : "行政管理后勤",
    "XB" : "男",
    "ZZMM" : "中共党员",
    "ZWZC" : "高级职称",
    "MZ" : "汉",
    "CSRQ" : 307123200000,
    "XL" : "硕士",
    "selectKey" : "20071090",
    "XM" : "张三",
    "GZBM" : "办公室",
    "PZGW" : "副教授三级岗位",
    "XW" : "农学硕士" }}}
    Copier après la connexion
    .

    Pensez à cette base de données mysql Prenez un nom marqué en rouge et le contenu est comme indiqué dans l'image ci-dessus

    Comment supprimer le champ json dans MySQL

    Créez une vue et prenez le nom de ce champ Puisque sa clé : "20071090" est dynamique et incertaine, et il n'apparaîtra qu'une seule fois à cet endroit, je prends d'abord La valeur sous le premier calque key==>selects

    SELECT ZDLSXM->'$.selects' from VI_YXGR
    Copier après la connexion

    Comment supprimer le champ json dans MySQL

    Sur cette base, prenez un autre calque Puisque ce calque est une clé dynamique, la première étape. La méthode ZDLSXM->'$ ne peut pas être utilisée. J'ai donc choisi la méthode substring_index pour supprimer les accolades, puis j'ai utilisé CONCAT() pour la fusionner dans un nouveau json. Supprimez la zone rouge de l'icône ci-dessous

    .

    Comment supprimer le champ json dans MySQL

     SELECT CONCAT("{",substring_index(substring_index(ZDLSXM->'$.selects', '{', -1),"}",1),"}") from VI_YXGR
    Copier après la connexion

    Comment supprimer le champ json dans MySQL

    Comment supprimer le champ json dans MySQL

    et ensuite l'emballer Tu peux prendre ce nom au premier étage

    SELECT SE_ZDLSXM->'$.name' AS ZDLSXM from (
    SELECT CONCAT("{",substring_index(substring_index(ZDLSXM->'$.selects', '{', -1),"}",1),"}") as SE_ZDLSXM  from VI_YXGR
    ) sss
    Copier après la connexion

    Comment supprimer le champ json dans MySQL

    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!

    Étiquettes associées:
    source:yisu.com
    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