Withdata Software

Import data from JSON to MySQL via command line on Windows

Want to import data from JSON Lines (JSONL) 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 JSON Lines to MySQL (MariaDB, Percona) easily and fast. Direct Interaction or Scripting and Automation.

Download my-cmd Windows version
my-cmd.windows-386.zip
my-cmd.windows-amd64.zip

JSON Lines text format, also called newline-delimited JSON (NDJSON), or Line-delimited JSON (LDJSON). JSON Lines files may be saved with the file extension .jsonl, *.ndjson, *.ldjson.

Import data from JSON Lines to MySQL (MariaDB, Percona) via command line on Windows

1. In interactive mode:

my-cmd> load table=media_messages 
      > datafile=f:\media_messages.json 
      > filetype=json;

2. In batch mode:

my-cmd dsn="pan:withdata@192.168.0.102:3306/test" task=load table=media_messages datafile=f:\media_messages.json filetype=json 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 version
my-cmd.windows-386.zip
my-cmd.windows-amd64.zip

JSON → MySQL reference

Type mapping

Value kindin JSONin MySQL
Int1234 (number)INT
Bigint9007199254740993BIGINT
Decimal1234.56 (number)DECIMAL(p,s)
Float1.234e10 (number)DOUBLE
Text"text" (string)VARCHAR(n)
Long text"multi-line\ntext" (escaped newline inside a string)LONGTEXT
Date"2026-09-18" (string)DATE
Datetime"2026-09-18T14:30:00Z" (string)DATETIME
Binary"base64:..." (string)LONGBLOB
Booleantrue / false (boolean)TINYINT(1)
JSONnested object or array, kept as structureJSON

Dialect differences

JSON 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 JSONin MySQL
port—3306
identifiersDouble quotes; backslash escapes`backtick`
row limit—LIMIT n
datesNo date type: dates arrive as strings and the reader must p...DATETIME, TIMESTAMP, DATE, TIME
long text—TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT
binaryNot supported natively - base64 inside a stringBLOB / TINYBLOB / LONGBLOB
separatorBraces and commas—
encodingUTF-8 by definition—
typingstring, number, boolean, null, object, array - no date type—
shapeNested objects and arraysTables of rows and columns
ceilingWhole document is usually parsed into 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.