웹 개발/db

[DB] 배열 데이터 DB에 저장하기

dani0312 2025. 5. 1. 23:22

◾DB에 배열 데이터 저장하기, 가능할까?

DB에 데이터를 저장하다보면 배열 데이터를 저장해야하는 경우가 있다.  특정 데이터인 배열(리스트) 데이터를 저장하려면 어떻게 해야할까? 일반적으로 생각하는 리스트 [] 형태로 저장이 될까? 

 

결론은, 일반적인 데이터베이스에서는 배열 타입을 직접 지원하지 않는 경우가 많아, 배열 데이터를 저장할 떄는 string으로 변환해서 저장하는 방식이 자주 사용된다고 한다. 즉 문자열로 파싱해서 저장해야한다. 

 

이 부분에 대해서는 데이터베이스마다 차이는 있다. `mysql`은 배열 타입이 없기 때문에 이 포스팅에서 진행하는대로 문자열로 변환해서 저장해야한다. `postgresql`의 경우는 진짜 배열 타입을 지원한다고 한다. 

 

본 글에서는 일반적으로 많이 사용되는 문자열로 파싱해서 저장하고, 다시 꺼내 사용하는 방법을 알아보자.

 

 

◾DB에 배열 데이터 저장하기

문자열로 파싱해서 저장 

Javascript로 예를 들어보자

 

const color = ['red', 'pink', 'white', 'blank'];

 

 

위와 같은 배열 데이터가 있다면, 

DB에 저장할 떄는 JSON 문자열로 바꿔서 저장할 수 있다.

 

const colorStr = JSON.stringify(color); //'['red', 'pink', 'white', 'blank']'

 

 

그렇다면 colorStr은 다음과 같은 형태이다.

const colorStr = '['red', 'pink', 'white', 'blank']';

 

 

 

 

◾DB에서 데이터 꺼내 사용하기

 

사용할 떄는 DB에서 꺼낸 후 다시 배열 형태로 파싱해서 사용하면 된다. 

JSON.stringify() 메서드로 배열 → 문자열 형태로 만들었으므로, JSON.parse()형태로 다시 문자열 → 배열 형태로 만들어 쓰면 된다. 

 

const color = JSON.parse(colorStr); // ['red', 'pink', 'white', 'blank'];

 

( JSON.stringify() 와 JSON.parse()메서드는 따로 포스팅을 할 예정이다. )

 

 

 

 

 

 

반응형