XLSX를 SQL로 변환 — 무료·업로드 불필요·실행 가능한 스크립트
브라우저에서 Excel 통합 문서를 바로 실행 가능한 SQL 스크립트로 변환하세요. 타입 추론된 CREATE TABLE과 배치 INSERT를 생성하고 엄격하게 이스케이프합니다. 업로드 없음, 가입 없음, 제한 없음.
.xlsx, .xlsm, .xls 파일을 여기로 드롭하거나 클릭하여 선택
.xlsx / .xlsm / .xls 지원 · 로컬 처리 · 업로드 안 됨
온라인에서 Excel을 SQL로 변환하는 방법
- .xlsx, .xlsm, .xls 파일을 하나 이상 드롭하세요 — 모두 로컬에서 처리되며 업로드되지 않습니다.
- 「SQL로 변환」을 클릭 — 데이터가 있는 각 시트에 CREATE TABLE과 배치 처리된 INSERT 문이 생성됩니다.
- 보고서 확인 — 각 파일에 변환된 시트, 생성된 테이블 수, 내보낸 데이터 행 수가 표시됩니다.
- 다운로드 — 단일 파일은 .sql 스크립트로, 여러 파일은 ZIP으로 묶여 다운로드됩니다.
작동 원리
이 도구는 엑셀 데이터를 SQL로 변환합니다. 내부적으로: 브라우저에서 .xlsx 통합 문서(XML 파트들의 ZIP)를 읽고, 각 워크시트에서 표 형식 데이터를 추출해, 데이터에서 열 유형(text, integer, real 등)을 추론한 뒤 CREATE TABLE과 INSERT 문을 생성하고 결과를 .sql 파일로 묶습니다. 모두 로컬에서 — 업로드도 데이터베이스 연결도 필요 없습니다.
직접 작성한 내보내기 스크립트와의 비교
엑셀 데이터를 SQL로 넣는 흔한 방법은 Python/pandas 스크립트나 로더 유틸리티를 작성하는 것입니다 — 환경 구성, 직접 유형 추론, 예외 케이스 디버깅이 따라옵니다. 이 도구는 코드도 설정도 없이 바로 실행 가능한 SQL을 즉시 생성합니다.
| 방식 | 파일의 행방 | 특징 |
|---|---|---|
| 이 도구 | 브라우저를 벗어나지 않음 | 무료 · 가입 불필요 · 코드 불필요 · 즉시 CREATE TABLE + INSERT |
| 직접 작성한 스크립트(Python/pandas) | PC에 남음 | Python과 여러 라이브러리 필요 · 유형 추론 수동 · 디버깅 필요 |
| 온라인 SQL 생성기 | 서버로 업로드 | 무료 구간은 행수 제한 · 파일이 기기를 떠남 |
열 유형 추론 방식
각 열은 모든 데이터 행을 훑어 가장 적합한 SQL 유형을 고릅니다. 테이블명과 열 이름은(SQL 표준대로) 큰따옴표로 감싸므로 공백, 대소문자 혼용, 예약어도 그대로 유지되며, 이름 안의 큰따옴표는 자동으로 두 배가 됩니다.
| 열의 내용 | SQL 유형 | 예시 값 |
|---|---|---|
| 정수만 있음 | INTEGER | 1, 42, -7 |
| 다른 숫자(소수 또는 혼합) | NUMERIC | 3.14, 2.5, 10 |
| 텍스트, 날짜, 불리언 등 | TEXT | Alice, 2024-05-01, TRUE |
모두 비어 있는 열은 TEXT로 처리됩니다. 날짜는 ISO 8601 문자열 리터럴(예: ‘2024-05-01T00:00:00.000Z’)로 기록되므로 데이터베이스 고유의 날짜 문법에 의존하지 않습니다.
이스케이프, NULL, 배치 처리
문자열은 작은따옴표로 감싸고 내부의 작은따옴표는 두 배로 만듭니다. O'Brien은 ‘O''Brien’이 되어 어떤 입력도 리터럴 밖으로 나갈 수 없습니다. 빈 셀과 빈 문자열은 모두 NULL로 출력되어 자리표시 텍스트가 데이터베이스에 들어가지 않습니다.
INSERT 문은 100행마다 하나로 묶입니다 — 하나의 문에 100개의 값 묶음. 스크립트는 컴팩트한 채로 PostgreSQL, MySQL, SQLite의 문 길이 제한 안에 여유 있게 들어갑니다.
스크립트에는 BEGIN/COMMIT이 없습니다. 전부 성공하거나 전부 취소되길 원한다면 직접 트랜잭션으로 감싸세요: BEGIN; <붙여넣기>; COMMIT;
이 변환기가 하지 않는 것
- 수식은 계산된 결과값으로 내보내집니다 — SQL에는 수식이 아닌 값이 들어갑니다.
- 서식, 병합 셀, 차트, 이미지에 대응되는 SQL이 없어 건너뜁니다.
- 헤더가 빈 열은 위치 이름이 됩니다: column1, column2…
- 시트 하나가 테이블 하나이며 테이블명은 시트명을 씁니다 — 시트 3개면 CREATE TABLE도 3개입니다.
자주 묻는 질문
정말 무료인가요?
네, 100% 무료입니다. 가입 불필요, 파일 수 제한 없음, 업로드 없음. 변환은 모두 브라우저에서 처리됩니다.
생성된 SQL은 어떤 데이터베이스에서 실행되나요?
SQL 표준의 큰따옴표 식별자를 따릅니다. PostgreSQL과 SQLite는 그대로 실행할 수 있고, MySQL은 ANSI_QUOTES 모드를 켜거나 큰따옴표를 백틱으로 바꿔야 합니다.
구식 .xls 파일도 지원되나요?
네. .xls(Excel 97–2003) 바이너리 형식도 SheetJS로 읽어 .xlsx와 동일한 과정으로 변환합니다.
파일이 서버에 업로드되나요?
아니요. 구문 분석과 SQL 생성은 모두 브라우저 내 JavaScript로 이루어지며 파일이 기기를 떠나지 않습니다.
날짜는 어떻게 변환되나요?
ISO 8601 문자열 리터럴(예: ‘2024-05-01T00:00:00.000Z’)이 됩니다. 가져온 후 데이터베이스 함수로 날짜 타입으로 바꿀 수 있습니다.
빈 셀은 어떻게 되나요?
모두 NULL로 기록됩니다. 빈 문자열도 동일하게 처리되어 빈 자리표시 텍스트가 테이블에 들어가지 않습니다.
여러 통합 문서를 한 번에 변환할 수 있나요?
네. 여러 파일을 드롭하면 한 번에 처리되고 모든 .sql 결과가 ZIP으로 다운로드됩니다.
SQLite로 가져오려면 어떻게 하나요?
다운로드한 파일을 저장한 뒤 sqlite3 mydb.db < output.sql 을 실행하세요. CREATE TABLE이 스키마를 만들고 INSERT가 데이터를 넣습니다.
관련 도구
SQL로 변환하기 전에 데이터를 수정해야 하나요?
무료 온라인 Excel 편집기 열기