---
title: "CSV에서 MySQL로 변환"
description: "브라우저에서 CSV 파일을 MySQL용 SQL로 변환해요. 타입이 지정된 열로 CREATE TABLE을 만들고 INSERT 문을 이어 붙여요. 무료이며 파일은 업로드되지 않아요."
canonical: https://intosql.com/ko/csv-to-mysql
last_updated: 2026-10-15
---

# CSV에서 MySQL로 변환

CSV 파일을 놓으면 CREATE TABLE과 INSERT 문이 담긴 MySQL 스크립트가 만들어져요. 열마다 타입을 정하고, 모든 수정 사항을 행과 열과 함께 나열해요.

## CSV에서 MySQL까지, 열 하나씩

IntoSQL이 위 샘플 파일 ventas_2024.csv을(를) MySQL용으로 쓴 결과예요. 각 열이 파일에 담은 내용, 받는 형식, 첫 값이 스크립트에 들어가는 모습을 보여 줘요.

| 파일에서 | 첫 값 | 열 | MySQL 형식 | 스크립트에서 |
| --- | --- | --- | --- | --- |
| Folio | `00412` | `folio` | `varchar(8)` | `'00412'` |
| Cliente | `Peña Muñoz` | `cliente` | `varchar(16)` | `'Peña Muñoz'` |
| Ciudad | `Mérida` | `ciudad` | `varchar(16)` | `'Mérida'` |
| Fecha | `15/02/2024` | `fecha` | `date` | `'2024-02-15'` |
| Importe | `1.234,50` | `importe` | `decimal(6,2)` | `1234.50` |
| Pagado | `sí` | `pagado` | `tinyint(1)` | `TRUE` |

## 스크립트를 MySQL에 불러오기

다운로드한 파일은 일반 .sql 파일이에요. MySQL 자체 도구로 실행하세요.

### MySQL

```shell
mysql --default-character-set=utf8mb4 mydb < ventas_2024.mysql.sql
```

스크립트가 utf8mb4를 직접 설정해요. 이 플래그로 클라이언트도 같은 방식으로 보내므로 악센트가 그대로 전달돼요. MySQL Workbench에서 File, Run SQL Script를 차례로 고르고 파일을 선택하세요.

스크립트 없이:

```shell
intosql load ventas_2024.csv --into mysql://user@localhost/mydb
```

## IntoSQL이 CSV 파일에서 읽는 내용

- Windows-1252와 UTF-16을 포함해 인코딩을 감지하므로 악센트 문자와 ñ도 그대로 들어와요.
- 구분자를 감지해요. 쉼표, 세미콜론, 탭, 세로 막대를 지원해요. 세미콜론일 때는 1.234,50 같은 소수점 쉼표를 숫자로 읽어요.
- 따옴표로 묶인 값에는 구분자와 줄바꿈이 들어갈 수 있어요.

## MySQL에 대해 알아 둘 점

- 예/아니요 값은 tinyint(1)이 돼요. 255자까지의 텍스트는 varchar이고, 더 긴 텍스트는 크기에 따라 text, mediumtext, longtext가 돼요.
- 스크립트는 utf8mb4를 쓰고 SQL 모드를 설정하므로, 악센트 문자, 이모지, 백슬래시, 줄바꿈이 쓰인 그대로 들어가요.
- MySQL의 datetime은 시간대를 저장하지 않아요.

### MySQL에서 값의 종류별 저장 방식

| 값 | MySQL |
| --- | --- |
| 예/아니요 | `tinyint(1)` |
| 정수 | `int` |
| 큰 정수 | `bigint` |
| 소수 | `decimal(p,s) · double` |
| 부동소수점 | `double` |
| 날짜 | `date` |
| 시각 | `time(6) · time` |
| 날짜와 시간 | `datetime(6) · datetime` |
| 날짜, 시간과 시차 | `datetime(6) · datetime` |
| 텍스트 | `varchar(n) · text · mediumtext · longtext` |

## CSV에서 MySQL(으)로 변환하기에 관한 질문

### CSV 파일을 MySQL용으로 어떻게 변환하나요?

이 페이지 위쪽의 변환기에 파일을 놓으세요. 헤더를 찾고 모든 값을 읽은 뒤, 적용한 수정 사항을 나열하며 MySQL 스크립트를 써요. 스크립트를 다운로드해 the mysql client에서 실행하세요.

### CSV가 세미콜론이나 탭으로 구분되어 있으면요?

구분 기호는 쉼표, 세미콜론, 탭, 세로 막대 중에서 자동으로 감지돼요. 추가 옵션에서 직접 정할 수도 있어요. 세미콜론일 때는 1.234,50 같은 소수점 쉼표도 숫자로 읽어요.

### MySQL에서는 어떤 형식을 쓰나요?

예/아니요 값은 tinyint(1), 정수는 int, 소수는 decimal(p,s), 날짜는 date, 시각이 있는 날짜는 datetime(6), 텍스트는 varchar(n) 형식이 돼요. 크기는 각 열에서 가장 긴 값에 맞춰져요.

### MySQL에서 앞자리 0이 유지되나요?

네. 00412 같은 코드는 텍스트로 유지되므로 MySQL에 varchar(8) 형식으로 저장되고 스크립트에는 '00412'(으)로 쓰여요.

### 스크립트 없이 MySQL에 데이터를 불러올 수 있나요?

네, IntoSQL Pro로 가능해요. 데스크톱 앱과 명령줄이 MySQL에 연결해 먼저 테이블을 만들고 행을 바로 불러와요.

### CSV 파일은 얼마나 커도 되나요?

브라우저는 CSV를 들어오는 대로 읽어서 수 GB 파일도 처리해요. Apple M4 노트북에서 명령줄은 100만 행, 174MB CSV를 1초 안에 변환해요.

## CSV에서 다른 데이터베이스로

- [CSV에서 SQL로 변환](https://intosql.com/ko/csv-to-sql)
- [CSV에서 PostgreSQL로 변환](https://intosql.com/ko/csv-to-postgresql)
- [CSV에서 MariaDB로 변환](https://intosql.com/ko/csv-to-mariadb)
- [CSV에서 SQLite로 변환](https://intosql.com/ko/csv-to-sqlite)
- [CSV에서 SQL Server로 변환](https://intosql.com/ko/csv-to-sql-server)
- [CSV에서 Oracle로 변환](https://intosql.com/ko/csv-to-oracle)

## 다른 파일에서 MySQL(으)로

- [Excel에서 MySQL로 변환](https://intosql.com/ko/excel-to-mysql)
- [JSON에서 MySQL로 변환](https://intosql.com/ko/json-to-mysql)
