반응형

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')
           )
       );

 

결과값.

 

 

 

 

반응형

+ Recent posts