Batch import XML files to MySQL tables

Want to bulk import XML files into MySQL tables at one time?

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

Download Withdata FileToDB Download FileToDB

Bulk import XML files into MySQL tables

Login to MySQL -> Choose XML files -> Set MySQL tables -> Import XML files to MySQL tables

Choose MySQL and logon.

bulk import XML files into MySQL tables - Choose MySQL and logon

Click “Wizard – N Files To N Tables” at task dialog.

bulk import XML files into MySQL tables - task window

Select the “XML” file type.

bulk load XML files into MySQL tables - select file type

then show the wizard.

1. Select a folder that constains XML files.

bulk import XML files into MySQL tables - select a folder

2. Config first XML file importing options.

bulk import XML files into MySQL tables - config first file

3. Set “Import Type”.

bulk import XML files into MySQL tables - set tables

4. Map MySQL tables to XML files.

bulk import XML files into MySQL tables - map

5. Summary. Set “Convert Rows” and “Skip Rows” if need.

bulk import XML files into MySQL tables - preview

6. Import XML files to MySQL tables, 1 file to 1 table, one by one.

bulk import XML files into MySQL tables - import data

View imported data in MySQL table

bulk import XML files into MySQL tables - view data


More about XML to MySQL converter

See also:

XML → MySQL reference

Type mapping

Value kindin XMLin MySQL
Int<int>1234</int>INT
Bigint<bigint>9007199254740993</bigint>BIGINT
Decimal<decimal>1234.56</decimal>DECIMAL(p,s)
Float<float>1.234e10</float>DOUBLE
Text<char>text</char>VARCHAR(n)
Long text<text>multi-line text</text> (entities for &amp; &lt;)LONGTEXT
Date<date>2026-09-18</date> (xs:date with an XSD)DATE
Datetime<datetime>2026-09-18T14:30:00Z</datetime> (xs:dateTime)DATETIME
Binary<blob>base64...</blob> (xs:base64Binary)LONGBLOB
Boolean<bool>true</bool>TINYINT(1)
JSONescaped inside an element, or its own sub-treeJSON

Dialect differences

XML 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 XMLin MySQL
port—3306
identifiersAttribute values in quotes; entities (&amp; &lt; &gt;) for ...`backtick`
row limit—LIMIT n
datesText (xs:date / xs:dateTime when an XSD is in play)DATETIME, TIMESTAMP, DATE, TIME
long text—TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT
binarybase64Binary / hexBinary inside textBLOB / TINYBLOB / LONGBLOB
separatorTags, not delimiters—
encodingDeclared in the XML declaration—
typingNone in the markup itself—
shapeArbitrary treeTables 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

XML to MySQL without the manual work

For batch jobs, large files and scheduling use the XML to MySQL converter — an offline desktop app for Windows, Linux and macOS. Free trial.


Posted

in

by