웹 개발/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()메서드는 따로 포스팅을 할 예정이다. )
반응형