본문 바로가기
MySQL

MySQL Json 사용법 Json table SELECT, INSERT, UPDATE 방법

by parkjp 2023. 10. 6.

 

 

MySQL Json Table 사용법 JSON_TABLE()

예제로 Json을 받아서 테이블처럼 만드는 법을 해보자.

SET @jsonstr := '[{"id": 1, "name": "example"}, {"id": 2, "name": "test"}]';

SELECT id, `name`
FROM JSON_TABLE(@jsonstr, '$[*]' COLUMNS(id BIGINT PATH '$.id', `name` VARCHAR(16) PATH '$.name')) T;

 

결과

 

Mysql JSON_TABLE Exmaple

 

위와 같이 JSON_TABLE() 함수를 쓰게 된다면 테이블처럼 SELECT가 가능하다.

이렇게 된다면 다른 테이블과의 Join으로 인해 사용할 수 있는 방법이 많아 진다.

 

INSERT

INSERT INTO example_user (id, `name`)
SELECT id, `name`
FROM JSON_TABLE(@jsonstr, '$[*]' COLUMNS(id BIGINT PATH '$.id', `name` VARCHAR(16) PATH '$.name')) T;

 

UPDATE SELECT

UPDATE example_user (id, `name`) AS U, (
	SELECT id, `name`
	FROM JSON_TABLE(@jsonstr, '$[*]' COLUMNS(id BIGINT PATH '$.id', `name` VARCHAR(16) PATH '$.name'))
) T
SET U.`name` = T.`name`
WHERE U.id = T.id;
반응형