Import data from CSV to MySQL via command line on Windows

Want to import data from CSV file to MySQL via Command Line Interface (CLI) on Windows?

Using my-cmd, a Command Line Interface (CLI) client for MySQL, you can import data from CSV file to MySQL (MariaDB, Percona) easily and fast. Direct Interaction or Scripting and Automation.

  • No need to install MySQL client library.
  • Convenient to deploy to cloud. No need to run installation file, just uncompress and run, immediately.
  • Commands are entered into a terminal or command prompt, accessed from local or remote (like SSH).
  • Support Windows, Linux, and MacOS.

Download my-cmd Windows version Download my-cmd

Import data from CSV file to MySQL (MariaDB, Percona) via command line on Windows

1. In interactive mode:

my-cmd> load loadtype=replace
      > table=media_messages 
      > datafile=/data/media_messages.csv 
      > delimiter=, 
      > quote=" 
      > header=y;

2. In batch mode:

my-cmd dsn="pan:withdata@192.168.0.102/test" task=load loadtype=replace table=media_messages datafile=/data/media_messages.csv delimiter=, quote=" header=y quit=y

“loadtype=replace” will delete all data in table before inserting.

See parameters detail.


More about my-cmd – Command Line Interface (CLI) tool for MySQL

Download my-cmd Windows versionDownload my-cmd

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.


Posted

in

by