UltKit

CSV SQL 변환기

스프레드시트 내보내기 파일을 데이터베이스가 실행할 수 있는 스크립트로 바꾸세요. 머리글 행이 열 이름이 되고, 모든 줄이 INSERT가 되며, 따옴표 처리는 고른 방언을 따릅니다.

데이터 변환

또는 CSV, TSV, TXT … 파일을 여기에 끌어다 놓으세요 ·

파일당 최대 95 MB· 최대 20개 파일· 30분 뒤 삭제

출력

파일은 UltKit 서버에서 처리되며 30분 뒤 삭제됩니다.

사용 방법

  1. 1

    CSV 업로드

    CSV를 하나 또는 최대 20개, 파일당 95 MB까지 추가하세요. 세미콜론과 탭 구분 파일은 자동으로 감지됩니다.

  2. 2

    테이블과 방언 설정

    고급 설정에서 SQL 테이블 이름을 입력하고 SQL 방언을 MySQL, PostgreSQL, SQLite, SQL Server 중에서 고르세요. 날짜는 ISO로 설정되어 있어 날짜 리터럴이 추측 없이 들어갑니다.

  3. 3

    변환 후 실행

    SQL로 변환을 누르고 CREATE TABLE 줄을 확인한 뒤, 데이터베이스 클라이언트나 가져오기 화면에서 스크립트를 실행하세요.

CSV SQL 변환은 머리글 행으로 CREATE TABLE 문을, 데이터 행마다 INSERT 문을 하나씩 만들고 MySQL, PostgreSQL, SQLite, SQL Server에 맞게 따옴표 처리합니다. 그래서 스크립트 하나만 실행하면 스프레드시트가 데이터베이스에 들어갑니다.

CSV를 SQL INSERT 문으로 바꾸는 이유

모든 데이터베이스에는 빠른 CSV 로더가 있고, 모두 제약이 있습니다. MySQL 8.0부터 LOAD DATA LOCAL INFILE은 서버에서 기본적으로 비활성화되어 있고, PostgreSQL에서 파일로부터 COPY FROM을 하려면 슈퍼유저 권한이나 특수 역할 소속이 필요하며, SQL Server의 BULK INSERT는 내 노트북이 아니라 서버 컴퓨터의 경로를 읽습니다. 호스팅 데이터베이스는 쿼리 편집기 말고는 아무것도 제공하지 않는 경우가 많습니다.

INSERT 스크립트는 이 모든 문제를 피해 갑니다. 텍스트라서 읽을 수 있고, 초기 데이터로 버전 관리에 커밋할 수 있으며, 어떤 클라이언트에서든 실행됩니다. 대가는 속도입니다. 수만 행은 문제없이 들어가지만 수백만 행은 네이티브 대량 로더에 맡겨야 합니다. 참조 데이터를 통합 문서로 관리하는 개발자는 엑셀 SQL 변환으로 CSV 단계를 건너뛸 수 있습니다.

MySQL용 CSV SQL 변환 예시

id,name,joined 열과 두 행으로 만든 스크립트
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255),
  `joined` DATE
);

INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES
(1, '김하나', '2026-03-02'),
(2, 'Liam O''Brien', '2026-04-15');

네 가지 SQL 방언에 따른 출력 차이

식별자는 order date처럼 백틱으로 감쌉니다. 그래서 order 같은 예약어도 열 이름으로 쓸 수 있습니다.

  • MariaDB에도 맞음
  • phpMyAdmin 가져오기에 알맞은 기본값
생성된 스크립트에 영향을 주는 데이터베이스 한도
기관요구 사항출처
MySQL 8.0max_allowed_packet 기본값은 64 MB이며, 이보다 큰 단일 문은 거부됨—
SQL ServerINSERT … VALUES 목록 하나에 행 값 식은 최대 1,000개—
PostgreSQL63바이트보다 긴 식별자는 경고 없이 잘림—
SQLite기본 빌드에서 테이블당 열은 최대 2,000개—

스크립트 실행 전 확인할 것

먼저 CREATE TABLE 줄을 읽으세요. 열 타입은 값을 보고 추측하므로 틀릴 수 있습니다. 우편번호와 전화번호는 숫자처럼 보이지만 텍스트로 남아야 하며, 그렇지 않으면 02134의 앞자리 0이 사라집니다. 실행 전에 스크립트에서 타입을 고치거나, 테이블을 직접 만든 뒤 INSERT 부분만 실행하세요.

SQL 테이블 이름에 my_table 대신 실제 이름을 입력하고, 클라이언트가 허용한다면 트랜잭션 안에서 스크립트를 실행해 잘못된 행 하나가 전체를 롤백하게 하세요. 같은 CSV의 다른 출력 형식은 데이터 변환 허브에 있습니다.

CSV와 SQL 스크립트 형식

CSV

쉼표로 구분된 값(CSV)

CSV는 한 줄이 한 행이 되고 쉼표로 열을 구분하는 표 형식의 일반 텍스트 파일입니다. 컴퓨터 초창기부터 쓰였고 RFC 4180에 설명되어 있지만, 세미콜론이나 탭을 쓰거나 텍스트 인코딩이 다른 변형도 많습니다. 거의 모든 스프레드시트, 데이터베이스, 분석 도구가 CSV를 가져오고 내보낼 수 있어 시스템 간 데이터 이동의 기본 형식입니다. CSV에는 값만 저장되며 수식, 서식, 여러 시트, 데이터 유형은 담기지 않습니다.

압축 방식
–
투명도
–
애니메이션
–
도입 연도
–
CSV 변환

SQL

SQL 스크립트

SQL 파일은 CREATE TABLE, INSERT 같은 구조화 질의 언어(SQL) 문을 데이터베이스가 순서대로 실행하도록 적은 일반 텍스트 스크립트입니다. 데이터베이스 백업, 마이그레이션, 샘플 데이터 공유에 흔히 쓰입니다. 언어 자체는 ISO 표준이지만 MySQL, PostgreSQL, SQLite, SQL Server마다 방언이 있어서 시스템을 옮길 때 스크립트를 조금씩 고쳐야 하는 경우가 많습니다. 어떤 텍스트 편집기로도 SQL 파일을 열 수 있지만, 실행하려면 데이터베이스 클라이언트가 필요합니다.

압축 방식
–
투명도
–
애니메이션
–
도입 연도
–
SQL 변환

쿼리 창으로만 접근할 수 있는 데이터베이스에 파일을 테이블로 넣어야 할 때 CSV를 SQL로 바꿉니다. 새 앱의 초기 데이터를 넣거나, 참조 목록을 불러오거나, 서버 접근 없이 스프레드시트를 MySQL이나 PostgreSQL로 옮기는 경우입니다.

CSV SQL 변환 자주 묻는 질문

LOAD DATA나 COPY 대신 SQL 파일을 쓰는 이유는 무엇입니까?

MySQL의 LOAD DATA INFILE이나 PostgreSQL의 COPY 같은 대량 로더는 더 빠르지만, 서버의 파일 접근 권한이나 추가 클라이언트 옵션이 필요합니다. 일반 스크립트는 클라우드 데이터베이스 콘솔, phpMyAdmin, 검토를 거친 마이그레이션 등 SQL을 붙여 넣을 수 있는 곳이면 어디서든 실행됩니다.

O'Brien 같은 이름의 아포스트로피는 어떻게 기록됩니까?

SQL 문자열 안에서 작은따옴표는 두 번 써서 이스케이프하므로 값은 'O''Brien'으로 기록됩니다. 네 가지 방언 모두 이 형식을 받기 때문에 아포스트로피가 든 이름도 INSERT를 깨뜨리지 않습니다.

CSV 머리글은 테이블에서 무엇이 됩니까?

선택한 방언이 기대하는 방식으로 따옴표 처리된 열 이름이 됩니다. Unit Price 같은 머리글도 되지만, 공백이 있는 이름은 이후 모든 쿼리에서도 따옴표로 감싸야 하므로 가능하면 변환 전에 unit_price처럼 바꿔 두세요.

phpMyAdmin으로 SQL 파일을 가져올 수 있습니까?

네, 가져오기 탭에서 됩니다. 그곳의 상한은 PHP의 upload_max_filesize로, 기본 php.ini에서는 2 MB입니다. 많은 호스팅 업체가 이를 올려 두며, 현재 한도는 페이지에 표시됩니다. 스크립트가 그보다 크다면 큰 CSV를 여러 파일로 나누세요.

테이블을 다시 CSV로 되돌릴 방법이 있습니까?

테이블을 덤프로 내보내 SQL CSV 변환으로 변환하거나, 데이터베이스 클라이언트 자체의 CSV 내보내기를 쓰세요. 둘 다 스프레드시트에서 다시 열 수 있는 행 데이터를 줍니다.