MySQL에서 JSON 형식을 사용하여 데이터를 저장하고 쿼리하는 방법은 무엇입니까?

PHPz
풀어 주다: 2023-07-30 21:37:22
원래의
2590명이 탐색했습니다.

JSON 형식을 사용하여 MySQL에서 데이터를 저장하고 쿼리하는 방법은 무엇입니까?

최신 애플리케이션 개발에서는 JSON 형식을 사용하여 데이터를 저장하고 쿼리하는 것이 일반적인 관행이 되었습니다. JSON(JavaScript Object Notation)은 프런트엔드 및 백엔드 데이터 전송, 구성 파일, 로깅 등에 널리 사용되는 경량 데이터 교환 형식입니다. MySQL은 버전 5.7부터 JSON 필드에 대한 지원을 도입하여 MySQL에서 직접 JSON 데이터를 저장, 쿼리 및 작동할 수 있게 되었습니다.

이 글에서는 JSON 형식을 사용하여 MySQL에서 데이터를 저장하고 쿼리하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다.

1. 테이블 생성 및 데이터 삽입

먼저 JSON 필드가 포함된 테이블을 생성해야 합니다. 이름, 나이, 연락처 등의 정보가 포함된 사용자 세부 정보를 저장한다고 가정해 보겠습니다. 다음 SQL 문을 사용하여 "users"라는 테이블을 만들 수 있습니다.

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  info JSON
);
로그인 후 복사

다음으로 INSERT 문을 사용하여 일부 사용자 데이터를 테이블에 삽입할 수 있습니다. INSERT 문에서 JSON_OBJECT 함수를 사용하여 JSON 개체를 구성한 다음 이를 JSON 필드에 저장할 수 있습니다. 예는 다음과 같습니다.

INSERT INTO users (info) VALUES (
  JSON_OBJECT('name', 'John', 'age', 25, 'contact', JSON_OBJECT('email', 'john@example.com', 'phone', '1234567890'))
);
로그인 후 복사

2. JSON 데이터 쿼리

MySQL에서는 일부 함수를 사용하여 JSON 데이터를 쿼리할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 함수와 사용법입니다.

  1. JSON_EXTRACT 함수: JSON 필드에서 특정 속성이나 값을 추출하는 데 사용됩니다. 두 개의 매개변수를 허용합니다. 첫 번째 매개변수는 JSON 필드이고 두 번째 매개변수는 추출 경로입니다. 예는 다음과 같습니다.
SELECT JSON_EXTRACT(info, '$.name') AS name FROM users;
로그인 후 복사
  1. JSON_SEARCH 함수: JSON 필드에서 일치하는 키 또는 값을 검색하고 해당 경로를 반환하는 데 사용됩니다. 세 개의 매개변수를 허용합니다. 첫 번째 매개변수는 JSON 필드이고, 두 번째 매개변수는 검색할 값, 세 번째 매개변수는 검색을 시작할 경로입니다. 예는 다음과 같습니다.
SELECT JSON_SEARCH(info, 'one', 'John', NULL, '$.name') AS name_path FROM users;
로그인 후 복사
  1. JSON_CONTAINS 함수: JSON 필드에 특정 키나 값이 포함되어 있는지 확인하는 데 사용됩니다. 두 개의 매개변수를 허용합니다. 첫 번째 매개변수는 JSON 필드이고 두 번째 매개변수는 확인할 키 또는 값입니다. 예는 다음과 같습니다.
SELECT * FROM users WHERE JSON_CONTAINS(info, 'John', '$.name');
로그인 후 복사

3. JSON 데이터 업데이트

JSON_SET 함수를 사용하여 JSON 필드의 값을 업데이트할 수 있습니다. JSON_SET 함수는 3개 이상의 매개변수를 허용합니다. 처음 두 매개변수는 업데이트할 JSON 필드와 업데이트할 경로입니다. 다음 매개변수는 설정할 키와 해당 값입니다. 예는 다음과 같습니다.

UPDATE users SET info = JSON_SET(info, '$.age', 26) WHERE id = 1;
로그인 후 복사

4. JSON 데이터 삭제

JSON 필드에서 특정 키나 값을 제거하려면 JSON_REMOVE 함수를 사용할 수 있습니다. JSON_REMOVE 함수는 두 개 이상의 매개변수를 허용합니다. 첫 번째 매개변수는 삭제할 JSON 필드이고, 후속 매개변수는 삭제할 키 또는 경로입니다. 예는 다음과 같습니다.

UPDATE users SET info = JSON_REMOVE(info, '$.name') WHERE id = 1;
로그인 후 복사

요약:

이 기사에서는 MySQL에서 JSON 데이터를 저장하고 쿼리하는 기본 작업을 소개합니다. JSON 형식을 사용하여 데이터를 저장하면 복잡한 구조의 데이터를 보다 쉽게 ​​조작하고 쿼리할 수 있습니다. 도입된 기능 외에도 MySQL은 더 복잡한 요구 사항을 충족하기 위해 더 많은 JSON 기능과 연산자를 제공합니다. 실제 개발에서는 애플리케이션 성능과 유연성을 향상시키기 위해 JSON 형식을 사용하여 특정 비즈니스 요구 사항에 따라 데이터를 저장하도록 선택할 수 있습니다.

(참고: 위 예제는 MySQL 5.7 버전을 기준으로 작성되었습니다. 다른 버전을 사용하는 경우, 보다 정확한 정보와 예제는 해당 버전의 MySQL 설명서를 참조하세요.)

위 내용은 MySQL에서 JSON 형식을 사용하여 데이터를 저장하고 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿