JSON 데이터를 MySQL에 저장하고 쿼리하는 방법은 무엇입니까?
MySQL 5.7 이상을 사용하면 JSON 데이터 유형을 통해 JSON 데이터를 직접 저장하고 쿼리 할 수 있습니다. 2. 테이블을 작성할 때 JSON 열을 정의하고 합법적 인 JSON 데이터를 삽입하면 MySQL은 자동으로 유효성을 확인합니다. 3. -> 및 ->> 연산자를 사용하여 JSON 필드 값을 추출하며, 그중 ->>는 비교를 위해 문자열 따옴표를 제거하는 데 사용될 수 있습니다. 4. JSON_CONTAINS, CAST 등과 같은 기능을 통해 조항이있는 곳에서 JSON 컨텐츠를 검색하고 수치 비교에는 유형 변환이 필요합니다. 5. JSON_SET, JSON_REPLACE 및 JSON_REMOVE 함수를 사용하여 JSON 필드를 수정하십시오. 6. JSON 열은 직접 색인화 될 수는 없지만 쿼리 성능을 향상시키기 위해 열 (예 : json_unquote 기반 가상 열)을 생성하여 인덱스를 만들 수 있습니다. 7. 자주 쿼리 된 필드를 생성 된 열로 추출하고 대형 JSON 객체 쿼리에 대한 과잉 의존을 피하고 핵심 데이터 구조를 유지하여 유연성과 성능의 균형을 달성하는 것이 좋습니다.
MySQL 5.7 이상을 사용하는 경우 MySQL에 JSON 데이터를 저장 및 쿼리하는 경우이 버전에는 JSON 데이터 유형에 대한 내장 지원이 있으므로 간단합니다. 이를 통해 SQL 쿼리 기능의 혜택을 누리면서도 반 강조 데이터를 유연하게 저장할 수 있습니다. 효과적으로 수행하는 방법은 다음과 같습니다.

1. MySQL에 JSON 데이터 저장
JSON을 저장하려면 테이블에서 열을 정의 할 때 JSON
데이터 유형을 사용하십시오.
JSON 열이있는 테이블을 만듭니다
테이블 사용자 만들기 ( id int auto_increment 기본 키, 이름 varchar (100), 프로필 JSON );
JSON 데이터를 삽입하십시오
유효한 JSON 객체 또는 배열을 삽입 할 수 있습니다.

사용자 (이름, 프로필) 값에 삽입 ( '앨리스', '{ "나이": 30, "City": "New York", "취미": [ "읽기", "사이클링"], "연락하다": { "이메일": "alice@example.com", "전화": "123-456-7890" } } '' );
MySQL은 삽입시 JSON을 검증합니다. 잘못된 JSON은 오류가 발생합니다.
2. JSON 데이터 쿼리
MySQL은 JSON 필드 내에서 추출하고 검색 할 기능과 연산자를 제공합니다.

->
및 ->>
사용하여 값을 추출합니다
-
column->'$.path'
JSON 값을 반환합니다 (문자열에 대한 따옴표 포함). -
column->>'$.path'
인용되지 않은 스칼라 값을 반환합니다 (비교에 더 좋습니다).
- 전체 연락처 객체를 가져옵니다 profile-> '$. 연락처'이름 = 'Alice'; - 인용되지 않은 이메일을 받으십시오 profile- >> '$. contact.email'을 선택한 사용자의 이메일로 이름 = 'Alice'; - 나이와 도시를 얻으십시오 선택하다 프로필->> '$. 프로필->> '$. City'는 도시로서 사용자로부터;
JSON 내에서 검색하십시오
WHERE
에서 JSON_CONTAINS()
또는 경로 표현식을 사용하십시오.
- 취미에서 "사이클링"을 가진 사용자를 찾으십시오 사용자로부터 이름을 선택하십시오 여기서 json_contains (profile-> '$. 취미', ' "사이클링"'); - 25 세 이상의 사용자를 찾으십시오 사용자로부터 이름을 선택하십시오 여기서 캐스트 (profile- >> '$. - 뉴욕에서 사용자를 찾으십시오 사용자로부터 이름을 선택하십시오 여기서 프로필->> '$. City'= 'New York';
참고 :
->>
텍스트를 반환하기 때문에 숫자 비교를 위해 값 (예 :SIGNED
,UNSIGNED
또는DECIMAL
)을 캐스트해야 할 수도 있습니다.
3. JSON 필드 업데이트
JSON_SET()
, JSON_REPLACE()
또는 JSON_REMOVE()
사용하여 json 컨텐츠를 수정하십시오.
- 필드를 추가하거나 업데이트하십시오 사용자를 업데이트하십시오 set profile = json_set (profile, '$ .age', 31, '$ .city', 'Boston') 여기서 이름 = 'Alice'; - 배열에 추가하십시오 사용자를 업데이트하십시오 set profile = json_array_append (프로파일, '$ .hobbies', '수영') 여기서 이름 = 'Alice'; - 필드를 제거하십시오 사용자를 업데이트하십시오 set profile = json_remove (profile, '$ .contact.phone') 여기서 이름 = 'Alice';
4. JSON 데이터 인덱싱 (간접적으로)
JSON 열을 직접 색인 할 수는 없지만 생성 된 (가상) 열을 생성하고 인덱스 할 수 있습니다.
예 : JSON 내부의 이메일 필드를 색인하십시오
테이블 사용자를 변경하십시오 열 이메일 Varchar (255) 추가 항상 (json_unquote (프로파일->> '$. contact.email')); 사용자 (이메일)에서 index idx_email을 만듭니다.
이제 email
에서 필터링이 인덱스를 사용할 수 있습니다.
email = 'alice@example.com'이있는 사용자 중에서 이름을 선택하십시오.
이것은 빈번한 JSON 기반 외관의 성능을 크게 향상시킵니다.
모범 사례
- Flexible 또는 선택적 속성 (예 : 사용자 기본 설정, 설정)에 JSON을 사용하십시오.
- 정기적 인 열로 자주 쿼리되거나 중요한 필드 (예 : 이메일, 상태)를 일반 열로 보관하거나 인덱스와 함께 생성 된 열을 사용하십시오.
- 자주 쿼리하는 경우 큰 JSON 블롭을 저장하지 마십시오. 가능하면 정상화하십시오.
- 오류를 방지하기 위해 응용 프로그램의 JSON 구조를 확인하십시오.
MySQL에 JSON을 저장하면 너무 많은 성능을 희생하지 않고 유연성을 제공합니다. 특히 생성 된 열 및 적절한 인덱싱과 결합 할 때. 강성 테이블에 깔끔하게 맞지 않는 스키마 또는 계층 적 데이터에 이상적입니다.
위 내용은 JSON 데이터를 MySQL에 저장하고 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 개발 팁: Redis를 사용하여 MySQL 쿼리 결과를 캐시하는 방법 소개: 웹 개발 과정에서 데이터베이스 쿼리는 일반적인 작업 중 하나입니다. 그러나 데이터베이스 쿼리를 자주 수행하면 성능 문제가 발생하고 웹 페이지 로딩 속도에 영향을 줄 수 있습니다. 쿼리 효율성을 높이기 위해 Redis를 캐시로 사용하고 자주 쿼리되는 데이터를 Redis에 넣어서 MySQL에 대한 쿼리 수를 줄이고 웹 페이지의 응답 속도를 향상시킬 수 있습니다. 이 기사에서는 Redis를 사용하여 MySQL 쿼리 결과를 캐시하는 방법의 개발을 소개합니다.

PHP와 MySQL은 JSON 데이터를 어떻게 처리합니까? 최신 웹 애플리케이션에서는 데이터를 저장하고 교환하는 데 JSON(JavaScriptObjectNotation)이 자주 사용됩니다. PHP와 MySQL은 일반적으로 사용되는 두 가지 기술이며, 이를 사용하여 JSON 데이터를 처리하는 방법은 일반적인 질문입니다. 이 기사에서는 PHP와 MySQL을 사용하여 JSON 데이터를 처리하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다. 1. MySQL에서 JSON으로 데이터 내보내기 먼저

PHP 개발 팁: Memcached를 사용하여 MySQL 쿼리 결과를 캐시하는 방법 Memcached는 데이터베이스의 로드를 줄이고 애플리케이션 성능을 향상시키는 데 사용할 수 있는 고성능 분산 메모리 개체 캐싱 시스템입니다. PHP 개발에서 데이터베이스를 자주 쿼리해야 하는 상황이 자주 발생합니다. 이때 Memcached를 사용하여 쿼리 결과를 캐시하면 시스템의 응답 속도가 크게 향상될 수 있습니다. 이 기사에서는 Memcached를 사용하여 MySQL 쿼리 결과를 캐시하는 방법을 공유합니다.

FastAPI에서 요청 본문을 사용하여 수신 JSON 데이터를 구문 분석하는 방법 FastAPI는 풍부한 기능과 고성능 비동기 지원을 제공하는 최신 Python 기반 웹 프레임워크입니다. FastAPI를 사용하여 HTTP 요청을 처리할 때 들어오는 JSON 데이터를 구문 분석해야 하는 경우가 많습니다. 이 문서에서는 요청 본문을 사용하여 FastAPI에서 수신 JSON 데이터를 구문 분석하고 해당 코드 예제를 제공하는 방법을 소개합니다. 종속성 가져오기 먼저 FastAPI 종속성과 JS를 가져와야 합니다.

PHP 개발 팁: Xcache를 사용하여 MySQL 쿼리 결과를 캐시하는 방법 소개: 웹 애플리케이션에서는 많은 수의 데이터베이스 쿼리 작업을 수행해야 하는 경우가 많습니다. 이러한 쿼리 작업은 많은 시스템 리소스와 시간을 소비할 수 있습니다. 성능을 향상시키고 서버의 부하를 줄이기 위해 캐싱을 사용하여 쿼리 결과를 저장하고 재사용할 수 있습니다. 이 기사에서는 Xcache 확장을 사용하여 MySQL 쿼리 결과를 캐시하여 웹 애플리케이션의 응답성과 성능을 향상시키는 방법에 대해 설명합니다. Xcache 소개

MySQL은 오늘날 가장 널리 사용되는 관계형 데이터베이스 시스템 중 하나로 고성능, 보안성, 확장성이라는 특징을 갖고 있으며 다양한 산업 분야의 데이터 관리 작업에 널리 사용되고 있습니다. 그 중 데이터 쿼리는 MySQL의 가장 기본적인 작업 중 하나이자 일상적인 개발에서 자주 접하게 되는 작업이기도 합니다. 이 기사에서는 SQL 문 사용, 인덱싱, 최적화 등을 포함하여 MySQL의 데이터 쿼리 구현 기술을 소개하여 모든 사람이 MySQL의 데이터 쿼리 기술을 더 잘 익힐 수 있도록 돕습니다. SQL 문 사용 SQL은 구조화된 쿼리 언어(St

현대 소프트웨어 개발에서는 데이터 처리 및 쿼리 작업이 필수적입니다. 관계형 데이터베이스 관리 시스템인 MySQL은 대부분의 기업 수준 애플리케이션에서 중요한 역할을 합니다. 효율적이고 빠른 프로그래밍 언어인 Go 언어는 데이터 처리 및 쿼리 작업에 점점 더 많이 사용되고 있습니다. 이 기사에서는 Go 언어를 사용하여 데이터베이스 연결, 쿼리 문 구성 및 실행 등을 포함한 고성능 MySQL 데이터 쿼리 작업을 만드는 방법을 소개합니다. 1. MySQL 구동을 위해 Go 언어를 이용한 데이터베이스 연결

PHP 인터페이스가 JSON 형식 데이터를 반환할 수 없는 문제에 대한 솔루션 개발 과정에서 JSON 형식 데이터를 반환하기 위해 PHP 인터페이스를 사용해야 하는 상황이 자주 발생합니다. 그러나 때로는 JSON 형식 데이터를 올바르게 반환하지 못하는 문제가 발생할 수 있습니다. 이 문서에서는 몇 가지 솔루션을 소개하고 구체적인 코드 예제를 제공합니다. 문제 분석 PHP를 사용하여 인터페이스를 작성할 때 일반적으로 데이터를 JSON 형식으로 변환하고 이를 프런트 엔드 페이지나 다른 애플리케이션에 반환해야 합니다. 그러나 때로는 다음과 같은 문제가 발생할 수 있습니다. 인터페이스
