[sql] JSON 데이터 타입

SQL은 관계형 데이터베이스 시스템에서 데이터를 저장, 조회, 조작하기 위한 쿼리 언어입니다. 관계형 데이터베이스는 정형화된 데이터를 처리하는데 강점을 가지고 있지만, 반복 구조를 가진 비정형 데이터를 처리하기에는 제한적입니다. 이런 한계를 극복하기 위해 SQL에서는 JSON 데이터 타입을 제공하고 있습니다.

JSON 데이터 타입

JSON(JavaScript Object Notation)은 가벼운 데이터 교환 형식으로, 사람과 기계가 모두 읽고 쓰기에 용이한 형태를 가지고 있습니다. SQL에서 JSON 데이터 타입은 JSON 형식의 데이터를 효율적으로 저장하고 쿼리할 수 있게 해줍니다.

JSON 데이터 타입의 특징

JSON 데이터 타입은 문자열로 저장되며, 내부적으로는 텍스트를 파싱하여 JSON 데이터로 처리합니다. 이를 통해 JSON 데이터를 검색 및 수정할 수 있습니다. JSON 데이터 타입은 다음과 같은 특징을 가지고 있습니다.

JSON 함수와 연산자

SQL에서는 JSON 데이터를 처리하기 위한 다양한 함수와 연산자를 제공합니다. 이를 통해 JSON 데이터를 쿼리하고 조작할 수 있습니다. 몇 가지 주요한 함수와 연산자는 다음과 같습니다.

JSON 데이터 타입 예시

다음은 JSON 데이터 타입을 사용한 예시입니다.

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    contact_info JSON
);

INSERT INTO users (id, name, contact_info)
VALUES (1, 'John Doe', '{"email": "johndoe@example.com", "phone": "123-456-7890"}');

SELECT name, JSON_VALUE(contact_info, '$.email') AS email
FROM users
WHERE id = 1;

위 예시에서는 users 테이블이라는 테이블을 생성하고, contact_info 필드에 JSON 데이터를 저장합니다. 그리고 JSON_VALUE 함수를 사용하여 해당 필드에서 이메일 주소를 추출하는 예시를 보여줍니다.

JSON 데이터 타입을 사용함으로써 SQL에서 비정형 데이터를 쉽게 저장하고 처리할 수 있습니다. JSON 데이터의 다양한 특징과 함수, 연산자를 적절히 활용하면 보다 유연하고 효율적인 데이터 조작이 가능해집니다.

참고 자료