mygems

CSV를 SQL INSERT 문으로 변환하기

CSV를 넣으면, 어느 데이터베이스에서나 실행되는 .sql 스크립트가 나옵니다.

  • PostgreSQL, MySQL, SQLite
  • 열 유형 자동 인식
  • 따옴표 올바르게 이스케이프
  • 업로드 없음

1.파일 열기

CSV 또는 TSV 파일을 여기로 끌어다 놓거나 파일을 선택하세요.

만든 이유

데이터베이스의 가져오기 마법사는 CSV에 까다롭고, 명령줄 로더는 데이터베이스 서버에 없는 경우가 많은 파일 접근이 필요합니다. 일반 .sql 스크립트는 쿼리가 돌아가는 곳이면 어디서나 됩니다. 그런데 손으로 만들면 따옴표 처리에서 틀립니다. 성에 들어 있는 작은따옴표 하나가 스크립트 전체를 깨뜨리고, 이스케이프하지 않은 백슬래시 하나가 MySQL에서 행을 망가뜨립니다. 이 도구는 각 데이터베이스가 실제로 요구하는 이스케이프를 적용해 스크립트를 씁니다.

기능

  • 열의 모든 값을 보고 정한 유형으로 CREATE TABLE 문을 씁니다.
  • 행을 원하는 크기의 묶음으로 나눈 다중 행 INSERT 문으로 씁니다.
  • 고른 데이터베이스에 맞게 이름에 따옴표를 붙이고 값을 이스케이프하며, MySQL의 백슬래시도 처리합니다.
  • 빈 셀은 NULL로 쓰고, 앞에 0이 붙었거나 아주 긴 숫자가 있는 열은 텍스트로 유지합니다.
  • 전체를 트랜잭션으로 감쌀 수 있어서, 중간에 실패해도 데이터베이스가 원래 상태로 남습니다.

묶음으로 나누는 이유

행마다 INSERT 하나는 실행이 느리고, 100만 행에 INSERT 하나는 대부분의 서버가 받기에 너무 큽니다. 문 하나에 수백 행이면 빠르고 일반적인 패킷 및 문 크기 제한도 넘지 않습니다. 서버에서 문제가 생기면 줄이세요.

자주 묻는 질문

어떤 데이터베이스를 지원하나요?
PostgreSQL, MySQL과 MariaDB, SQLite입니다. 스크립트는 일반 SQL이므로 표준을 따르는 다른 데이터베이스도 대개 받아들이며, SQL Server는 INSERT 문은 그대로 되고 CREATE TABLE만 조금 수정하면 됩니다.
열 유형은 어떻게 정하나요?
열의 모든 값을 보고 정합니다. 정수만 있는 열은 BIGINT, 소수는 부동소수점 유형, true/false는 BOOLEAN, ISO 날짜는 DATE가 되고, 앞에 0이 붙은 숫자를 포함해 나머지는 모두 TEXT가 됩니다. 실행하기 전에 스크립트의 CREATE TABLE을 직접 고칠 수 있습니다.
운영 중인 데이터베이스에서 실행해도 안전한가요?
스크립트는 테이블 하나를 만들고 거기에 삽입할 뿐입니다. 다른 스크립트와 마찬가지로 먼저 읽어 보세요. 미리 보기에 시작 부분이 나오고, 테이블 이름은 직접 정할 수 있습니다.

자세한 설명

이 페이지에서 작업을 바로 처리할 수 있습니다. 가이드에서는 도구가 대신 판단할 수 없는 부분까지 설명합니다.

데이터베이스 없이 CSV 파일에 SQL 쿼리 실행하는 방법 (2026년 가이드)GROUP BY에 Postgres는 필요 없습니다. DuckDB, SQLite, q, 휴대폰으로 CSV를 바로 조회하는 방법과 상황별 선택법입니다.