4 easy steps to import CSV data to MySQL

by

Want to import data from CSV file to MySQL ?

Try Withdata FileToDB, a desktop CSV to MySQL converter for Windows, MacOS, and Linux, Convert CSV to MySQL, Easy and Fast.

  • Can run in GUI mode, Step by Step, just a few mouse clicks.
  • Can run in Command line, for Scheduled Tasks and Streams.
  • Convert locally and privately, avoid uploading large or private CSV file(s) to online services.

Download Withdata FileToDB Download FileToDB

Import data from CSV file to MySQL in 4 steps

Choose CSV file -> Set MySQL table -> Preview -> Import

Choose MySQL and logon.

convert CSV file to MySQL table - Choose MySQL and logon

Click “Wizard – 1 File To 1 Table” at task dialog.

convert CSV file to MySQL table - task window

Select the “CSV” file type.

Import file data to database table - select file type

then show the wizard.

Step #1. Choose a CSV file.

Import CSV data To MySQL - open CSV file

Step #2. Choose a MySQL table and config fields.

Load Data From CSV File To MySQL - select table

Step #3. Preview data and config “Convert Rows”.

Transfer Data From CSV File To MySQL - preview

Step #4. Import CSV to MySQL.

Copy Data From CSV File To MySQL - import data

Import CSV to MySQL in command line

Save “CSV to MySQL” session, then you can:

Set scheduled tasks for importing CSV to MySQL

You can schedule and automate this converting task by:

  1. Save session and create .bat (Windows) or .sh (Linux/macOS) file for “CSV to MySQL” conversion.
  2. Set scheduled task for “CSV to MySQL” conversion.

FAQ


More about Withdata FileToDB – CSV to MySQL converter

CSV → MySQL reference

Type mapping

Value kindin CSVin MySQL
Int1234INT
Bigint9007199254740993BIGINT
Decimal1234.56DECIMAL(p,s)
Float1.234e+10DOUBLE
Textquoted only when it contains a comma or a quoteVARCHAR(n)
Long textmust be quoted; line breaks inside force multi-line recordsLONGTEXT
Date2026-09-18DATE
Datetime2026-09-18 14:30:00DATETIME
Binarynot representable - base64 or hex stringLONGBLOB
BooleanTRUE / FALSE, or 1 / 0 depending on the writerTINYINT(1)
JSONthe whole JSON value quoted, with internal quotes doubledJSON

Dialect differences

CSV is a file format and MySQL is a database server, so the target has to be told the types the file never carried - the rows below are where the two sides diverge.

Propertyin CSVin MySQL
port—3306
identifiersDouble quotes; a literal quote is doubled ("" )`backtick`
row limit—LIMIT n
datesConventional text: 2026-09-18 or 2026-09-18 14:30:00DATETIME, TIMESTAMP, DATE, TIME
long text—TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT
binaryNot supportedBLOB / TINYBLOB / LONGBLOB
separatorComma ","—
encodingNo declaration - UTF-8 works only with a BOM—
typingNone - every field is text—
shapeFlat table, optional header rowTables of rows and columns
ceilingNo formal limit; row count bounded by memory—

Command line

SideCommand
MySQLmysqldump, or mysql -e "SELECT ..." > out.csv
MySQL (load)mysqlimport, or LOAD DATA INFILE

Convert your data online, free

Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.