빠르고 안전한 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 포매터를 사용해 보세요.