>  기사  >  데이터 베이스  >  MySQL에서 JSON 배열을 행으로 변환하는 방법은 무엇입니까?

MySQL에서 JSON 배열을 행으로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-26 02:54:09338검색

How to Convert a JSON Array into Rows in MySQL?

MySQL의 JSON 배열을 행으로 변환

JSON 배열을 MySQL 테이블의 개별 행으로 변환하는 것은 어려울 수 있습니다. 그러나 이 작업은 다음을 포함한 다양한 기술을 사용하여 수행할 수 있습니다.

방법 1: JSON_EXTRACT 및 Union

이 방법에는 JSON_EXTRACT 함수를 사용하여 개별 배열 요소를 추출하는 작업이 포함됩니다. UNION 연산자를 사용하여 결합합니다. 예는 다음과 같습니다.

SET @j = '[1, 2, 3]';

SELECT JSON_EXTRACT(@j, '$[0]') AS value
UNION
SELECT JSON_EXTRACT(@j, '$[1]') AS value
UNION
SELECT JSON_EXTRACT(@j, '$[2]') AS value;

방법 2: JSON_TABLE(MySQL 8 )

MySQL 8에는 JSON_TABLE 함수가 도입되어 이를 기반으로 가상 테이블을 생성할 수 있습니다. JSON 문서. 이는 JSON 배열을 행으로 변환하는 간단한 방법을 제공합니다. 예는 다음과 같습니다.

SET @j = '[5, 6, 7]';

SELECT *
FROM JSON_TABLE(
  @j,
  "$[*]"
  COLUMNS(
    Value INT PATH "$"
  )
) data;

방법 3: 문자열 분할 및 JSON_TABLE

이 기술은 MySQL에 내장된 문자열 분할 기능이 없다는 사실을 활용합니다. 구분된 문자열을 JSON 문자열로 변환하면 JSON_TABLE을 사용하여 분할 기능을 구현할 수 있습니다.

set @delimited = 'a,b,c';

SELECT *
FROM JSON_TABLE(
  CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'),
  "$[*]"
  COLUMNS(
    Value varchar(50) PATH "$"
  )
) data;

이러한 방법은 MySQL에서 JSON 배열을 개별 행으로 변환하기 위한 다양한 솔루션을 제공합니다. MySQL 5.7에는 더 복잡한 접근 방식이 필요할 수 있지만 MySQL 8에는 JSON_TABLE과 같은 더 효율적인 옵션이 도입되어 데이터 조작에 대한 새로운 가능성이 열립니다.

위 내용은 MySQL에서 JSON 배열을 행으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.