본문으로 건너뛰기

CSV에서 MariaDB로 변환

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

내 파일
csvventas_2024.csv샘플 파일, 357byte
내 데이터베이스

5개 행 변환, 수정 8개, 거부 없음

보기
ventas_2024.csv의 처음 몇 행이며, 수정한 부분마다 표시되어 있어요
행
500412Peña MuñozMérida15/02/20241.234,50sí
600413José Ángel RuizLeón03/02/202499,90no
700414Zoë OrtízQuerétaro29/02/2024N/Así
800415Ñuño CastañedaOaxaca28/02/20247,25no
900416Iñaki OlaizolaMazatlán11/03/2024980,75sí
-- Written by IntoSQL for MariaDB.

SET NAMES utf8mb4;
SET SESSION sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');
START TRANSACTION;

CREATE TABLE ventas_2024 (
    folio varchar(8) NOT NULL,
    cliente varchar(16) NOT NULL,
    ciudad varchar(16) NOT NULL,
    fecha date NOT NULL,
    importe decimal(6,2),
    pagado tinyint(1) NOT NULL
) DEFAULT CHARSET=utf8mb4;

INSERT INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES
('00412', 'Peña Muñoz', 'Mérida', '2024-02-15', 1234.50, TRUE),
('00413', 'José Ángel Ruiz', 'León', '2024-02-03', 99.90, FALSE),
('00414', 'Zoë Ortíz', 'Querétaro', '2024-02-29', NULL, TRUE),
('00415', 'Ñuño Castañeda', 'Oaxaca', '2024-02-28', 7.25, FALSE),
('00416', 'Iñaki Olaizola', 'Mazatlán', '2024-03-11', 980.75, TRUE);

COMMIT;

수정 사항

  1. 파일이 windows‑1252 인코딩이라서 UTF-8로 변환했어요.
  2. 헤더는 4행에 있어요. 그 위의 행은 제외했어요.
  3. 10행("TOTAL")은 합계라서 제외했어요.
  4. "Folio" 열의 앞자리 0을 유지했어요. 00412 값은 00412 그대로 텍스트로 저장돼요.
  5. 15/02/2024 값을 보면 "Fecha" 열의 날짜는 일이 먼저예요. 그래서 03/02/2024 값을 2024‑02‑03 날짜로 읽어요.
  6. "Importe" 열의 숫자는 소수점으로 쉼표를 써요. 1.234,50 값을 1234.50 값으로 읽어요.
  7. "Importe" 열의 N/A 값을 빈 값으로 읽었어요(5개 중 1개).
  8. "Pagado" 열에 예/아니요 단어(sí, no)가 있어 불리언으로 저장했어요.

파일은 이 컴퓨터에서 변환되고 업로드되지 않아요.

다른 샘플:

CSV에서 MariaDB까지, 열 하나씩

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

파일에서첫 값열MariaDB 형식스크립트에서
Folio00412foliovarchar(8)'00412'
ClientePeña Muñozclientevarchar(16)'Peña Muñoz'
CiudadMéridaciudadvarchar(16)'Mérida'
Fecha15/02/2024fechadate'2024-02-15'
Importe1.234,50importedecimal(6,2)1234.50
Pagadosípagadotinyint(1)TRUE

스크립트를 MariaDB에 불러오기

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

터미널에서

mariadb --default-character-set=utf8mb4 mydb < ventas_2024.mariadb.sql

스크립트가 utf8mb4를 직접 설정해요. 이 플래그로 클라이언트도 같은 방식으로 보내므로 악센트가 그대로 전달돼요.

데이터베이스 도구에서

HeidiSQL이나 DBeaver에서 스크립트를 열고 실행하세요.

스크립트 없이Pro

IntoSQL Pro는 데스크톱 앱이나 명령줄에서 파일을 MariaDB에 바로 불러와요. 스크립트를 따로 만들 필요가 없어요.

intosql load ventas_2024.csv --into mariadb://user@localhost/mydb

CSV 파일과 MariaDB에 대해 알아 둘 점

IntoSQL이 CSV 파일에서 읽는 내용

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

MariaDB에 대해 알아 둘 점

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

MariaDB에서 값의 종류별 저장 방식

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

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

여기에 답이 없나요? 문의 페이지로 연락하시면 담당자가 답장해요. 문의 페이지

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

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

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

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

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

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

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

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

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

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

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

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