Withdata Software

4 easy steps to import CSV data to MySQL

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.

Download Withdata FileToDB
Windows 64 bit
Windows 32 bit
Linux .deb (For Debian, Ubuntu) 64 bit
Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit
MacOS 64 bit

Import data from CSV file to MySQL in 4 steps

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

Choose MySQL and logon.

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

Select the “CSV” file type.

then show the wizard.

Step #1. Choose a CSV file.

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

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

Step #4. Import CSV to MySQL.

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

What is Withdata FileToDB?
Withdata FileToDB is an ETL software can import CSV data to MySQL. Download Withdata FileToDB
How long does it take to import CSV data to MySQL?
FileToDB works fast. It convert millions of rows within a minute.
Is it safe to import CSV data to MySQL using FileToDB?
Of course! FileToDB import CSV data to MySQL locally, absolutely safe.
Can I import CSV data to MySQL on Linux, Mac OS?
Yes, you can. FileToDB has Linux, Mac OS, and Windows version.
Can I import CSV data to MySQL in command line?
Yes, you can. FileToDB can running in command line, on Linux, Mac OS, and Windows.


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.