반응형
mysql json 사용 방법
1. json_extract
json 안의 내용을 검색
쿼리.
SET @j = '{"a": \"1\", "b": \"4\", "c": {"d": [\"4\",\"2\"]}}';
SELECT JSON_EXTRACT(@j,'$.c.d');
결과값.
2. json_search
json 안의 내용을 검색하여 어느 위치에 있는지 알 수 있다.
파라미터 인수 2번째 값이 'all' 인 경우에는 모두 검색하여 위치를 배열로 저장한다.
(1번째 결과값과 2번쨰 결과값 확인)
쿼리.
SET @j = '{"a": \"1\", "b": \"2\", "c": {"d": \"4\"}}';
SELECT JSON_SEARCH(@j, 'one','4');
SET @j = '{"a": \"1\", "b": \"4\", "c": {"d": \"4\"}}';
SELECT JSON_SEARCH(@j, 'all','4');
1번째 결과값.
2번째 결과값.
3. json_array_append
json 안의 배열에 append 한다.
쿼리.
SET @j = '{"a": \"1\", "b": \"4\", "c": {"d": [\"4\",\"2\"]}}';
SELECT JSON_ARRAY_APPEND(@j, '$.c.d', '9');
결과값.
4.json_remove
json 안의 값을 remove 한다.
예제는 예제 3번에서 배열이 나왔음으로 json 안의 배열안의 항목을 제거하는 방법을 사용하겠습니다.
쿼리.
SET @j = '{"a": \"1\", "b": \"4\", "c": {"d": [\"4\",\"2\"]}}';
SELECT JSON_REMOVE(@j,
JSON_UNQUOTE(
JSON_SEARCH(@j, 'one','2')
)
);
결과값.
반응형
'개발 > Mysql' 카테고리의 다른 글
[Mysql] json array to table, json array join 방법 (0) | 2023.02.08 |
---|---|
[mysql] 파티셔닝 테이블 (partitioning table) (0) | 2022.09.02 |
[Mysql] group by 없는 시간 및 날짜 표시하기 (0) | 2021.06.01 |
[Mysql] source 여러개 파일 import 한번에 하기 (0) | 2021.03.22 |
[Mysql] 그룹별 누적 합계 구하기 (0) | 2020.08.19 |