SheepDev

SQL·테스트 데이터

CSV·JSON 예제로 INSERT 문 만들기

사용할 도구

테스트 몇 행도 열 순서·인용 맞추기에 시간이 듭니다. JSON/CSV→INSERT는 초안을 만들지만 테이블 타입·제약은 모릅니다. 원본이 SQL에서 어떻게 표현됐는지 확인까지 변환 작업으로 보세요.

JSON 두 행으로 열·값 대응 읽기

표people·PostgreSQL에 예시를 넣습니다.id는 숫자,code·name은 문자열,note는 첫행null·둘째빈문자열입니다. 생성 열id·code·name·note 순서에 키로 대응하므로 원래 키 순서가 달라도 열에 맞춥니다.

변환 JSON
[{"id":1,"code":"001","name":"O'Reilly","note":null},{"name":"Mina","id":2,"code":"010","note":""}]
생성 값 행
(1, '001', 'O''Reilly', NULL),
(2, '010', 'Mina', '')

따옴표 두 번·선행0·NULL과'' 차이를 확인하세요.JSON 숫자001 자체는 무효라 코드의0을 보존하려면 처음부터 문자열이어야 합니다. 출력 후 수정보다 원본 타입을 맞추는 편이 확실합니다.

빠진 열은 자동 DEFAULT가 아님

모든 행 키를 모아 열을 만들고 빠진 필드는NULL입니다.둘째note를 지우면 빈문자열 대신NULL이지DEFAULT가 아닙니다.열 생략과NULL 명시는 DB 기본값·제약에서 다를 수 있습니다.

업무상 필요하면 누락·빈값·미상·0을 구분하세요.나이0과미상,메모없음과빈메모는 다를 수 있습니다.대표2~3행으로 확인한 뒤 대량 생성해야 의미 착오를 찾기 쉽습니다.

CSV 숫자는 여기서 문자열 유지

CSV의id1·2도 문자열로 읽고 숫자 추정하지 않습니다.선행0은 보존하지만 숫자열 적합성은 대상 DB 변환에 달립니다.CSV의NULL은 'NULL'문자열이지JSON null이 아닙니다.

문자열로 읽는 CSV
id,code,note
1,001,NULL
2,010,""

CSV 따옴표는 구분자·내부 줄바꿈 처리로SQL 인용과 다른 층입니다.CSV 확인에서 헤더·쉼표 포함 필드를 먼저 보세요.잘못 디코딩해 깨진 문자는INSERT로 복구 못 하므로 텍스트·열부터 확인합니다.

중첩·큰 정수는 따로 주의

JSON 숫자는18446744073709551615도 자릿수를 보존하지만 대상 열에 들어가는지는 별개입니다.중첩 객체·배열은 자동 문자열화·관련표 분해 없이 거부하며DB JSON열 식 자동 생성도 아닙니다.

1000행·256열·10000셀 상한입니다.초과했다고 일부를 조용히 버리고 완성으로 보면 안 됩니다.식별자 문자도 제한되므로 임의 스키마 재현이 아니라 대상 타입·기본값·필수 조건을 먼저 확인하세요.

생성은 초안, 실행은 별도

출력은 연결 정보가 없고 도구는 실행하지 않습니다.다른 곳 실행 전 환경·기존행·권한·제약을 보세요.자동번호열·주키중복·외래키 존재는 변환 성공으로 알 수 없으며 대상 절차대로 검토합니다.

가상 두 행이면 셀마다 대응을 볼 수 있습니다.NULL·빈문자열·따옴표·선행0부터 확인 후 늘리세요.더미 생성으로 실제 개인정보 복사를 피할 수 있습니다.빠른 생성만큼 실행 전 의미 검토 시간을 남기세요.

생성 열과 실제 테이블 정의를 대조하기

JSON에 id·name·note가 있어도 테이블이 그대로 받는다는 뜻은 아닙니다. 자동 ID는 명시값을 제한하고 NOT NULL은 NULL을 거부할 수 있습니다. 길이, 외래 키, 고유 제약도 검사하지 않습니다. 오류를 없애려 모두 문자열로 바꾸지 말고 원래 의미와 스키마 타입을 맞추세요. 보기 좋은 SQL이 DB 수락의 증거는 아닙니다.

두 번 실행한 결과도 도구가 정하지 않습니다. 고유 키가 거부하거나 중복 행이 생길 수 있습니다. 재시도 계획 없이 SQL을 반복해서 붙이지 마세요. 트랜잭션, 기존 데이터 확인, 충돌 정책은 실행 설계입니다. INSERT 초안이지 멱등한 가져오기나 마이그레이션 절차가 아닙니다.

작은 예에 따옴표, 빈 문자열, null, 앞자리 0을 넣고 원값과 SQL 리터럴의 타입 결정을 설명해 보세요. 검토 안 한 대량 출력보다 두세 행으로 규칙을 확인하는 편이 쉽습니다. 실행 시험은 승인된 격리 데이터에 한정하고 운영 테이블에 시험 삼아 실행하지 마세요.

참고 자료

사용할 도구

가이드 →