> 데이터 베이스 > MySQL 튜토리얼 > mysql에서 json 필드를 제거하는 방법

mysql에서 json 필드를 제거하는 방법

WBOY
풀어 주다: 2023-05-28 13:24:44
앞으로
4157명이 탐색했습니다.

    mysql에서 json 필드를 검색하기 위한 팁

    때때로 일부 정보가 json 형식으로 데이터베이스에 저장되는 경우, 특정 키 값만 검색하는 동안 SQL이 느리게 실행됩니다. 꽤 낭비입니다

    JSON_EXTRACT()

    ±—±---------------------------------------------------------------+
    | id | data |
    ±—±---------------------------------------------------------------+
    | 1 | {“Tel”: “132223232444”, “name”: “david”, “address”: “Beijing”} |
    | 2 | {“Tel”: “13390989765”, “name”: “Mike”, “address”: “Guangzhou”} |
    ±—±---------------------------------------------------------------+
    로그인 후 복사
    select json_extract('{"name":"Zhaim","tel":"13240133388"}',"$.tel");
    로그인 후 복사

    spark sql 함수를 사용하여 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;
    로그인 후 복사

    mysql을 사용하여 json을 가져오고, 키를 모르고 값 세부 정보를 가져옵니다.

    { "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" : "农学硕士" }}}
    로그인 후 복사

    이 mysql 데이터베이스에 대해 생각해 보세요. 빨간색으로 표시된 이름을 선택하고 내용은 위에 표시된 것과 같습니다

    mysql에서 json 필드를 제거하는 방법

    뷰를 만들고 이 필드의 이름을 선택하세요. 키: "20071090"은 동적이며 불확실하며 이 위치에 한 번만 표시됩니다. , 먼저 첫 번째 레이어 key==>selects

    SELECT ZDLSXM->'$.selects' from VI_YXGR
    로그인 후 복사

    mysql에서 json 필드를 제거하는 방법

    아래의 값을 가져옵니다. 이 레이어는 동적 키이므로 첫 번째 단계 ZDLSXM->'$를 사용할 수 없습니다. .selects' 메서드를 사용하여 중괄호를 제거한 다음 CONCAT()을 사용하여 아래 아이콘의 빨간색 영역을 삭제했습니다.

    mysql에서 json 필드를 제거하는 방법

     SELECT CONCAT("{",substring_index(substring_index(ZDLSXM->'$.selects', '{', -1),"}",1),"}") from VI_YXGR
    로그인 후 복사

    mysql에서 json 필드를 제거하는 방법

    mysql에서 json 필드를 제거하는 방법

    그런 다음 포장하세요. 1층에서 이 이름을 가져가실 수 있습니다

    SELECT SE_ZDLSXM->'$.name' AS ZDLSXM from (
    SELECT CONCAT("{",substring_index(substring_index(ZDLSXM->'$.selects', '{', -1),"}",1),"}") as SE_ZDLSXM  from VI_YXGR
    ) sss
    로그인 후 복사

    mysql에서 json 필드를 제거하는 방법

    위 내용은 mysql에서 json 필드를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:yisu.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿