JSON을 SQL INSERT로 변환
JSON 객체 배열을 SQL INSERT문으로 바꿉니다. MySQL, PostgreSQL, SQLite, SQL Server, Oracle용 CREATE TABLE도 만들고 중첩된 값도 처리합니다.
객체에 없는 키는 NULL로 입력됩니다.
| 열 | 타입 | 확인된 값 | NULL / 누락 |
|---|---|---|---|
| id | INTEGER | 정수 | 0 |
| name | VARCHAR(12) | 텍스트 | 0 |
| active | BOOLEAN | true/false | 0 |
| balance | NUMERIC(6,2) | 소수 | 1 |
| joined | DATE | 날짜 | 0 |
| tags | JSONB | JSON | 1 |
| address | JSONB | JSON | 1 |
API 응답, 내보내기 파일, 테스트 데이터는 JSON으로 오는 경우가 많은데 데이터베이스에는 SQL이 필요합니다. 객체 배열을 붙여넣으면 여러 행을 묶은 INSERT문과, 값에서 추론한 열 타입(정수, 알맞은 정밀도의 소수, 불리언, 날짜, 텍스트, JSON)을 가진 CREATE TABLE(선택)을 만들어 줍니다. 키가 없는 객체는 NULL이 되고, 중첩된 객체와 배열은 JSON으로 저장하거나 점으로 이름 붙인 열로 펼칠 수 있습니다. 식별자, 문자열, 불리언 표기는 MySQL, PostgreSQL, SQLite, SQL Server, Oracle에 맞게 출력됩니다.
사용 방법
- 객체 배열 JSON을 붙여넣습니다(객체 하나나 {"data": […]} 형태도 됩니다).
- 테이블 이름을 입력하고 데이터베이스를 고릅니다.
- 중첩된 객체를 JSON 열로 둘지, 열로 펼칠지 고릅니다.
- 필요하면 CREATE TABLE, DROP TABLE을 포함하거나 upsert용 키를 지정합니다.
- SQL을 복사합니다.
계산식
열 = 어느 객체에든 있는 모든 키(처음 나온 순서) · 객체마다 VALUES 튜플 하나 · 없는 키 → NULL
타입은 값을 따릅니다. 정수는 INTEGER(±2,147,483,647을 넘으면 BIGINT), 그 밖의 숫자는 자릿수에 맞춘 DECIMAL(p,s), true/false는 BOOLEAN(불리언이 없는 DB에서는 BIT, NUMBER(1) 또는 1/0), 모든 값이 올바른 날짜인 ISO 날짜 문자열은 DATE 또는 TIMESTAMP, 그 밖의 문자열은 VARCHAR(가장 긴 길이) 또는 TEXT, 객체와 배열은 JSON, JSONB, NVARCHAR(MAX) 또는 CLOB입니다. 값의 종류가 섞인 열은 텍스트가 됩니다. 문자열의 작은따옴표는 두 번 쓰고, MySQL에서는 백슬래시도 두 번 씁니다.
예시
샘플의 고객 3명은 id INTEGER, name VARCHAR(12), active BOOLEAN, balance NUMERIC(6,2), joined DATE, tags JSONB, address JSONB 열을 가진 CREATE TABLE "customers"와 3행짜리 INSERT 하나가 됩니다. O'Brien은 'O''Brien'으로 쓰이고, Lin의 없는 tags와 address, null인 balance는 NULL이 되며, Ada의 address는 '{"city":"London"}'로 저장됩니다.
자주 묻는 질문
객체마다 키가 다르면 어떻게 되나요?
어느 객체에든 나오는 키는 모두 열이 되며, 처음 나온 순서대로 배치됩니다. 그 키가 없는 객체는 NULL이 됩니다.
펼치는 편이 좋을까요, JSON 열이 좋을까요?
중첩 필드(address.city)로 조건 검색이나 조인을 한다면 펼치세요. 구조가 제각각이거나 저장만 하면 된다면 JSON으로 두는 편이 낫습니다. 배열은 항상 JSON으로 저장됩니다.
아주 큰 숫자도 안전한가요?
9,007,199,254,740,991까지의 정수는 정확합니다. 그보다 큰 ID는 JavaScript 기반 도구에서는 자릿수가 깎이므로 JSON에서 따옴표로 감싸 텍스트로 유지하세요.
데이터가 업로드되나요?
아닙니다. SQL은 브라우저에서 만들어집니다.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/json-to-sql-insert-tool/
인용·퍼가기
kakaoCalc. (2026, November 8). JSON을 SQL INSERT로 변환. https://kakao.mobile/ko/tools/json-to-sql-insert-tool/
“JSON을 SQL INSERT로 변환.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/json-to-sql-insert-tool/.