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
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:
- Import CSV to MySQL in Windows command line.
- Import CSV to MySQL in Linux command line.
- Import CSV to MySQL in macOS command line.
Set scheduled tasks for importing CSV to MySQL
You can schedule and automate this converting task by:
- Save session and create .bat (Windows) or .sh (Linux/macOS) file for “CSV to MySQL” conversion.
- Set scheduled task for “CSV to MySQL” conversion.
FAQ
More about Withdata FileToDB – CSV to MySQL converter
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
CSV → MySQL reference
Type mapping
| Value kind | in CSV | in MySQL |
|---|---|---|
| Int | 1234 | INT |
| Bigint | 9007199254740993 | BIGINT |
| Decimal | 1234.56 | DECIMAL(p,s) |
| Float | 1.234e+10 | DOUBLE |
| Text | quoted only when it contains a comma or a quote | VARCHAR(n) |
| Long text | must be quoted; line breaks inside force multi-line records | LONGTEXT |
| Date | 2026-09-18 | DATE |
| Datetime | 2026-09-18 14:30:00 | DATETIME |
| Binary | not representable - base64 or hex string | LONGBLOB |
| Boolean | TRUE / FALSE, or 1 / 0 depending on the writer | TINYINT(1) |
| JSON | the whole JSON value quoted, with internal quotes doubled | JSON |
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.
| Property | in CSV | in MySQL |
|---|---|---|
| port | — | 3306 |
| identifiers | Double quotes; a literal quote is doubled ("" ) | `backtick` |
| row limit | — | LIMIT n |
| dates | Conventional text: 2026-09-18 or 2026-09-18 14:30:00 | DATETIME, TIMESTAMP, DATE, TIME |
| long text | — | TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT |
| binary | Not supported | BLOB / TINYBLOB / LONGBLOB |
| separator | Comma "," | — |
| encoding | No declaration - UTF-8 works only with a BOM | — |
| typing | None - every field is text | — |
| shape | Flat table, optional header row | Tables of rows and columns |
| ceiling | No formal limit; row count bounded by memory | — |
Command line
| Side | Command |
|---|---|
| MySQL | mysqldump, 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.