본문으로 건너뛰기
SPCX Tools

CSV SQL 변환기

CSV 데이터를 SQL CREATE TABLE 및 INSERT 문으로 즉시 변환하세요.

로컬 실행 — 파일이 기기 외부로 전송되지 않습니다

도구 불러오는 중…

CSV SQL 변환기 사용 방법

  1. 1입력란에 CSV 데이터를 붙여넣거나 '샘플'을 클릭하여 데이터 형식을 확인하세요.
  2. 2대상 테이블 이름을 입력하고 원하는 데이터베이스(MySQL, PostgreSQL, SQLite, SQL Server)를 선택하세요.
  3. 3옵션을 설정하여 CREATE TABLE 문을 포함하거나, INSERT 문을 일괄 처리하거나, 빈 셀을 NULL로 처리할 수 있습니다.
  4. 4생성된 SQL을 복사하거나 .sql 파일로 다운로드하세요.

빠르고 안전한 CSV SQL 변환기

스프레드시트 데이터를 관계형 데이터베이스 형식으로 변환하는 것은 개발자, 데이터베이스 관리자, 데이터 분석가들이 자주 수행하는 작업입니다. 이 도구를 사용하면 웹 브라우저에서 직접 CSV를 SQL로 변환할 수 있습니다. 새 데이터베이스를 구축하거나, 기존 레코드를 마이그레이션하거나, 데이터셋을 빠르게 가져와야 할 때, 단 몇 초 만에 CSV 데이터에서 INSERT 문을 생성할 수 있습니다.

모든 변환 과정은 사용자 기기에서 로컬로 실행되므로 데이터가 외부 서버로 절대 업로드되지 않습니다. 따라서 개인정보와 보안이 완벽하게 보장되며, 유출 위험 없이 기밀 사용자 데이터, 재무 기록, 기업 독점 정보 등을 안전하게 처리할 수 있습니다.

자동 데이터 타입 추론 작동 방식

수십 개의 열로 구성된 데이터셋의 스키마를 일일이 작성하는 것은 매우 번거로운 작업입니다. 시간을 절약할 수 있도록, 이 도구는 CSV 데이터를 자동으로 분석하여 각 열에 가장 적합한 SQL 데이터 타입을 추론합니다. 빈 셀을 제외한 실제 행 데이터를 확인하여 다음과 같은 규칙을 적용합니다:

  • INTEGER: 열의 모든 값이 정수인 경우 지정됩니다(예: 42, -15).
  • DECIMAL: 값이 부동소수점 숫자이거나 지수 표기법을 사용하는 경우 지정됩니다(예: 3.14, -0.5).
  • BOOLEAN: 열에 true 또는 false만 포함된 경우 지정됩니다(대소문자 구분 없음).
  • DATE: 값이 표준 ISO 날짜 형식(YYYY-MM-DD)과 일치하는 경우 지정됩니다.
  • TEXT / VARCHAR: 열에 여러 데이터가 섞여 있거나, 일반 텍스트이거나, 위의 패턴에 맞지 않는 형식일 때 기본으로 지정되는 타입입니다.

CREATE TABLE 문 생성을 선택하면, 이렇게 추론된 데이터 타입들이 선택한 데이터베이스에 맞는 올바른 문법으로 자동 매핑됩니다.

지원하는 SQL 방언

데이터베이스 엔진마다 식별자(테이블 및 컬럼명 등) 표기, 데이터 타입 정의, 리터럴 값 포맷 규칙이 다릅니다. 생성된 SQL이 문법 오류 없이 실행될 수 있도록, 이 툴은 4가지 주요 SQL 방언을 지원합니다:

MySQL: CSV를 MySQL로 변환할 때 테이블과 컬럼명을 백틱(`)으로 감쌉니다. 텍스트 컬럼의 기본값은 VARCHAR(255)이며, 논리값(Boolean)은 TRUE 또는 FALSE로 변환됩니다.

PostgreSQL: 식별자를 큰따옴표(")로 감쌉니다. 텍스트 컬럼은 Postgres의 표준이자 효율적인 TEXT 타입을 사용합니다. 논리값은 기본적으로 TRUE 또는 FALSE로 지원됩니다.

SQLite: 식별자에 큰따옴표를 사용합니다. SQLite는 제한된 스토리지 클래스로 동적 타이핑을 사용하므로, 소수는 REAL, 논리값은 INTEGER(1 또는 0 출력)로 매핑되며, 텍스트는 TEXT 어피니티(Affinity)를 사용합니다.

SQL Server (T-SQL): 식별자를 대괄호([])로 감쌉니다. 텍스트 컬럼의 기본값은 VARCHAR(255)이며, 논리값은 BIT 데이터 타입(1 또는 0 출력)으로 매핑됩니다. 또한 텍스트 문자열에 비 ASCII 문자가 포함된 경우, 올바른 유니코드(NVARCHAR) 삽입을 위해 자동으로 문자열 앞에 N을 추가합니다(예: N'Value').

SQL 출력 맞춤 설정

설정 옵션을 사용하여 생성되는 SQL 스크립트를 작업 환경에 맞게 조정할 수 있습니다:

  • 테이블 이름: 대상 테이블의 이름을 지정합니다. 선택한 SQL 종류에 맞는 따옴표가 자동으로 적용됩니다.
  • CREATE TABLE 포함: 데이터베이스를 새로 구축하는 경우, 이 옵션을 활성화하여 INSERT 문 앞에 스키마 정의를 추가하세요. CSV의 헤더가 컬럼 이름으로 사용됩니다.
  • 일괄 삽입: 수천 개의 INSERT INTO 문을 개별적으로 실행하면 속도가 느려질 수 있습니다. 일괄 삽입 옵션을 활성화하면 최대 500개의 행을 하나의 INSERT 문으로 묶어줍니다. 이를 통해 파일 크기를 크게 줄이고 데이터 임포트 성능을 높일 수 있습니다.
  • 빈 셀을 NULL로 처리: 스프레드시트에는 빈 셀이 포함된 경우가 많습니다. 이 옵션을 선택하면 데이터베이스에 빈 문자열('')을 삽입하는 대신, CSV의 빈 값을 SQL의 NULL 키워드로 명시하여 변환합니다.

CSV 데이터 준비 팁

최상의 결과를 위해 CSV 파일에 헤더 행이 포함되어 있는지 확인하세요. 이 도구는 데이터의 첫 번째 행을 사용하여 CREATE TABLE 및 INSERT 문의 컬럼 이름을 지정합니다. 컬럼 헤더가 비어 있으면 column_1, column_2 등으로 자동 지정됩니다.

데이터에 쉼표, 줄바꿈, 따옴표가 포함된 복잡한 텍스트가 있다면 CSV 형식이 올바른지 확인하세요(일반적으로 해당 필드를 큰따옴표로 묶습니다). 이 도구에는 이스케이프 처리된 따옴표와 여러 줄로 된 필드를 정확하게 처리하는 강력한 CSV 파서가 내장되어 있습니다.

데이터를 다른 형식으로 변환해야 한다면 CSV JSON 변환기 또는 CSV 엑셀 변환기도 유용하게 활용할 수 있습니다. SQL 생성이 완료된 후 키워드의 들여쓰기나 대소문자를 조정해야 한다면 SQL 포매터를 사용해 보세요.

자주 묻는 질문 (FAQ)

이 도구는 SQL 데이터 타입을 어떻게 추론하나요?
변환기는 각 열의 데이터를 스캔합니다(빈 셀 제외). 모든 값이 특정 패턴과 일치하면 해당 타입을 할당합니다. 정수는 INTEGER, 실수는 DECIMAL, 참/거짓 값은 BOOLEAN, YYYY-MM-DD 형식은 DATE로 지정합니다. 데이터가 혼합되어 있거나 패턴과 일치하지 않으면 기본값인 TEXT 또는 VARCHAR로 설정됩니다.
내 CSV 데이터가 서버로 업로드되나요?
아닙니다. 모든 파싱과 SQL 생성은 JavaScript를 통해 웹 브라우저에서 로컬로 처리됩니다. 데이터가 기기 외부로 전송되지 않으므로 민감한 기밀 데이터나 독점 데이터베이스 레코드를 다룰 때도 완전히 안전합니다.
"Batch" 옵션은 어떤 기능을 하나요?
이 옵션을 활성화하면 최대 500행의 데이터를 하나의 다중 행 INSERT 문으로 그룹화합니다. 이를 통해 생성되는 SQL 파일의 크기를 크게 줄이고, 데이터베이스에서 스크립트를 실행하는 속도를 높일 수 있습니다.
빈 셀은 어떻게 처리되나요?
"Empty as NULL"을 선택하면 CSV의 모든 빈 셀이 SQL 출력에 NULL 키워드로 기록됩니다. 선택하지 않으면 빈 셀은 텍스트 열에서 빈 문자열('')로 처리되며, 빈 문자열이 구문 오류를 일으킬 수 있는 숫자 열에서는 NULL로 유지됩니다.
방언(Dialect)을 변경하면 생성되는 데이터 타입이 왜 달라지나요?
데이터베이스 시스템마다 컬럼 타입에 사용하는 키워드가 다릅니다. 예를 들어, 불리언(boolean) 컬럼은 PostgreSQL에서는 BOOLEAN, SQL Server에서는 BIT, SQLite에서는 INTEGER로 표현됩니다. 이 도구는 선택한 방언에 맞춰 CREATE TABLE 구문과 데이터 형식을 자동으로 조정합니다.