본문 바로가기
기타

MySQL 5.7의 기능 - 추가 정보

2020. 12. 2.
반응형
  • JSON 지원.  MySQL 5.7.8부터 MySQL은 기본 JSON유형을 지원합니다 . JSON 값은 문자열로 저장되지 않고 문서 요소에 대한 빠른 읽기 액세스를 허용하는 내부 바이너리 형식을 사용합니다. JSON 열에 저장된 JSON 문서 는 삽입되거나 업데이트 될 때마다 자동으로 유효성이 검사되며 잘못된 문서는 오류를 생성합니다. JSON 문서를 작성에 규격화, 대부분 비교 연산자를 사용하여 비교 될 수있다 예컨대 =, <, <=, >, >=, <>, !=, 및<=>; 지원되는 연산자와 MySQL이 JSON값을 비교할 때 따르는 우선 순위 및 기타 규칙에 대한 정보 는 JSON 값의 비교 및 ​​순서 지정을 참조하십시오 .

    MySQL 5.7.8에는 JSON값 작업을위한 여러 함수도 도입되었습니다 . 이러한 기능에는 다음과 같은 기능이 포함됩니다.

    • 생성 함수 JSON값을 : JSON_ARRAY(), JSON_MERGE(),와 JSON_OBJECT(). Section 12.18.2,“JSON 값을 생성하는 함수”를 참조하십시오 .

    • 검색 기능 JSON값 : JSON_CONTAINS(), JSON_CONTAINS_PATH(), JSON_EXTRACT(), JSON_KEYS(),와 JSON_SEARCH(). Section 12.18.3,“JSON 값을 검색하는 함수”를 참조하십시오 .

    • 기능이 수정 JSON값 : JSON_APPEND(), JSON_ARRAY_APPEND(), JSON_ARRAY_INSERT(), JSON_INSERT(), JSON_QUOTE(), JSON_REMOVE(), JSON_REPLACE(), JSON_SET(),와 JSON_UNQUOTE(). Section 12.18.4,“JSON 값을 수정하는 함수”를 참조하십시오 .

    • 에 대한 정보 제공 기능 JSON의 값을 : JSON_DEPTH(), JSON_LENGTH(), JSON_TYPE(),와 JSON_VALID(). Section 12.18.5,“JSON 값 속성을 반환하는 함수”를 참조하십시오 .

    MySQL은 5.7.9 이상에서는 사용할 수 속기로 . 열 식별자를 포함하여 SQL 문에서 발생할 수있는 곳 컬럼에 대한 별칭으로이 작품 , 그리고 절. 여기에는 , , , , 및 기타 SQL 문. 왼쪽 은 별칭이 아닌 열 식별자 여야합니다 . 오른쪽은 열 값으로 반환 된 JSON 문서에 대해 평가되는 인용 된 JSON 경로 표현식입니다. column->pathJSON_EXTRACT(column, path)WHEREORDER BYGROUP BYSELECTUPDATEDELETECREATE TABLEJSON

    MySQL 5.7.22는 다음 JSON 함수를 추가합니다.

    • 두 개의 JSON 집계 함수 JSON_ARRAYAGG()및 JSON_OBJECTAGG(). JSON_ARRAYAGG()열 또는 표현식을 인수로 취하고 결과를 단일 JSON배열 로 집계합니다 . 표현식은 모든 MySQL 데이터 유형으로 평가 될 수 있습니다. JSON값 이 아니어도됩니다 . JSON_OBJECTAGG()키와 값으로 해석되는 두 개의 열 또는 표현식을 사용합니다. 결과를 단일 JSON 객체 로 반환 합니다. 자세한 내용과 예제는 Section 12.20,“집계 함수”를 참조하십시오 .

    • 읽기 쉬운 형식으로 JSON_PRETTY()기존 JSON값 을 출력하는 JSON 유틸리티 함수 각 JSON 개체 구성원 또는 배열 값은 별도의 줄에 인쇄되며 자식 개체 또는 배열은 부모와 관련하여 2 개의 공백을 사용합니다.

      이 함수는 JSON 값으로 구문 분석 할 수있는 문자열에서도 작동합니다.

      Section 12.18.6,“JSON 유틸리티 기능”을 참조하십시오 .

    • JSON_STORAGE_SIZE()부분 업데이트 전에 JSON 문서의 이진 표현에 사용되는 저장 공간을 바이트 단위로 반환하는 JSON 유틸리티 함수입니다 (이전 항목 참조).

      이 함수는 JSON 문서의 유효한 문자열 표현도 허용합니다. 이러한 값의 JSON_STORAGE_SIZE()경우 JSON 문서로 변환 한 후 바이너리 표현에서 사용하는 공간을 반환합니다. JSON 문서의 문자열 표현을 포함하는 변수의 경우 JSON_STORAGE_FREE()0을 반환합니다. 어느 함수는 (비 NULL) 인수가 유효한 JSON 문서로 해석 할 수없는 경우에 에러를 생성하고, NULL인수 인 경우 NULL.

      자세한 정보와 예제는 Section 12.18.6,“JSON 유틸리티 함수”를 참조하십시오 .

    • RFC 7396 을 준수하기위한 JSON 병합 함수입니다 . JSON_MERGE_PATCH(), 2 개의 JSON 객체에 사용되는 경우 다음 세트의 결합을 구성원으로 포함하는 단일 JSON 객체로 병합합니다.

      • 두 번째 개체에 동일한 키를 가진 구성원이없는 첫 번째 개체의 각 구성원입니다.

      • 첫 번째 개체에 동일한 키를 가진 멤버가없고 값이 JSON null리터럴 이 아닌 두 번째 개체의 각 멤버입니다 .

      • 두 개체에 모두 존재하고 두 번째 개체의 값이 JSON null리터럴 이 아닌 키를 가진 각 구성원 입니다.

      이 작업의 일환으로 JSON_MERGE()함수의 이름이으로 변경되었습니다 JSON_MERGE_PRESERVE(). JSON_MERGE()계속해서 JSON_MERGE_PRESERVE()MySQL 5.7에서 별칭으로 인식 되지만 현재는 더 이상 사용되지 않으며 향후 MySQL 버전에서 제거 될 수 있습니다.

      자세한 내용과 예제는 Section 12.18.4,“JSON 값을 수정하는 함수”를 참조하십시오 .

    참조 섹션 12.18.3, "기능 즉, 검색 JSON 값" 에 대한 자세한 내용은, ->하고 JSON_EXTRACT(). MySQL 5.7의 JSON 경로 지원에 대한 정보는 JSON 값 검색 및 수정 단원을 참조하십시오 . JSON 열 색인을 제공하기 위해 생성 된 열 색인화를 참조하십시오 .

  • 시스템 및 상태 변수.  이제 INFORMATION_SCHEMA이러한 변수를 얻기 위해 테이블을 사용하는 것보다 시스템 및 상태 변수 정보를 성능 스키마 테이블에서 사용할 수 있습니다 . 이는 또한 SHOW VARIABLES및 SHOW STATUS문의 작동에도 영향을줍니다 . show_compatibility_56 시스템 변수 의 값은 생성 된 출력과 시스템 및 상태 변수 명령문과 테이블에 필요한 권한에 영향을줍니다. 자세한 내용 은 5.1.7 절.“서버 시스템 변수” 에서 해당 변수에 대한 설명을 참조하십시오 .

반응형

'기타' 카테고리의 다른 글

데이터베이스 생성 및 사용  (0) 2020.12.02
설치할 MySQL 버전 및 배포  (0) 2020.12.02
MySQL 5.7의 새로운 기능  (0) 2020.12.02
MySQL의 주요 기능 - 추가  (0) 2020.12.02
MySQL의 주요 기능  (0) 2020.12.02

댓글