JSON → SQL INSERT 생성기
JSON 배열(또는 단일 객체) 붙여넣고 즉시 실행 가능한 SQL insert 출력. 컬럼은 모든 키의 합집합; 컬럼 없는 행은 NULL. 문자열은 작은따옴표 이스케이프, 숫자·불은 리터럴, 중첩 객체·배열은 JSON 직렬화. 선택적 `ON CONFLICT`(Postgres·SQLite) 또는 `ON DUPLICATE KEY UPDATE`(MySQL)로 출력을 동기화 작업에 바로 투입.
—
SQL(3)
INSERT INTO "users" ("id", "name", "email", "verified", "joined")
VALUES
(1, 'Alice', 'alice@example.com', TRUE, '2024-01-15'),
(2, 'Bob', 'bob@example.com', FALSE, '2024-03-22'),
(3, 'Carol', NULL, TRUE, '2024-06-01');문자열은 작은따옴표 이중화로 이스케이프 — 네 가지 방언 모두 안전.
사용법
- JSON 객체 배열(또는 단일 객체) 붙여넣기.
- 테이블 이름·SQL 방언 설정.
- 다행 VALUES 토글로 단일 문, 끄면 행마다 INSERT. ON CONFLICT·ON DUPLICATE KEY UPDATE 원하면 upsert 토글.
자주 묻는 질문
- 중첩 객체 처리?
- JSON 직렬화 후 인용 문자열로 삽입. PostgreSQL·MySQL의 `JSON`/`JSONB` 컬럼은 바로 수용; SQLite는 TEXT로.
- 다행 vs 행별 INSERT 차이?
- 다행은 단일 `INSERT INTO ... VALUES (…), (…), (…);` — 대량 로드에서 훨씬 빠름. 행별은 N개 문 — 개별 행 주석 처리·부분 실패 예상 시 편함.
- 이 이스케이프만으로 SQL을 안전하게 실행할 수 있나?
- 작은따옴표를 이스케이프해서 구문상 올바른 문장을 만들 뿐이고, 적대적인 입력에 대해 안전하다는 뜻은 아니다. 생성된 SQL은 그냥 텍스트다. 실행하기 전에 읽어보라. 통제할 수 없는 곳에서 온 데이터라면 생성된 스크립트를 콘솔에 붙여넣지 말고, 매개변수화된 문장이나 COPY, LOAD DATA 같은 대량 적재 도구로 넣어라.
- 숫자가 따옴표에 묶여 나오거나 ID의 끝자리가 사라진 이유는?
- 타입은 테이블이 아니라 JSON을 따른다. JSON에 "42"처럼 문자열로 적혀 있으면 컬럼이 정수여도 따옴표 붙은 리터럴이 나온다. SQL에서 캐스팅하거나 JSON을 고쳐야 한다. 큰 식별자는 반대쪽 함정이다. JSON 숫자로 도착했다면 이 도구에 오기도 전에 이미 끝자리를 잃었을 수 있다. ID를 문자열로 실어 보내야 하는 이유가 이것이다.
관련 도구
Mock 데이터 생성기
테스트용 가짜 레코드를 만들어 JSON·CSV·SQL INSERT로 내보내기 — 이름·이메일·날짜·ID·로렘 등 20+ 타입.
개발 0 0
CSV → SQL INSERT 생성기
CSV·TSV 행을 SQL INSERT 문으로 변환 — 테이블명·방언별 식별자·타입 추론·다중 행 모드.
변환 0 0
문자열 이스케이프 변환기
한 입력으로 10개 컨텍스트 이스케이프 출력 — JavaScript, JSON, HTML 엔티티, URL, SQL, regex, Bash(단·이중 따옴표), C 문자열, Unicode \u. 필요한 것을 복사.
개발 0 0
JSON ↔ YAML 변환기
JSON ↔ YAML 양방향 변환 — 들여쓰기 선택, 결과 복사.
변환 0 0
CSV → HTML / Markdown / JSON 테이블
CSV를 HTML `<table>`·마크다운 테이블·JSON 객체 배열로 변환 — 구분자 자동 감지.
변환 0 0
INI ↔ JSON 변환
INI 스타일 설정 파일 ↔ JSON 왕복 변환 — 섹션·점 표기 중첩·주석·값 타입 추론 지원.
변환 0 0