Want to upsert data from TXT (“|” pipe delimited text) file to MySQL ?
Upsert: inserts rows into a table if they do not already exist, or updates them if they do.>
Using FileToDB, a native GUI tool, you can upsert data from TXT (“|” pipe delimited text) file to MySQL (MariaDB, Percona) easily and fast, no need to program, just a few mouse clicks!
Support Windows, Linux, macOS
Here you can download and install FileToDB.
Upsert data from TXT (“|” pipe delimited text) file to MySQL (MariaDB, Percona)
Choose MySQL and logon.

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

Select the “TXT” file type.

then show the wizard.
1. Open a TXT (“|” pipe delimited text) file.

2. Select a table and config fields.
Set “Load Type” to “Upsert”, choice “By Key”.

3. Preview data.

4. Upsert TXT data to MySQL (MariaDB, Percona).

View upserted data

You can schedule and automate this converting task by:
1) Save session and create .bat file.
TXT → MySQL reference
Type mapping
| Value kind | in TXT | in MySQL |
|---|---|---|
| Int | 1234, or right-aligned in a fixed-width column | INT |
| Bigint | 9007199254740993 | BIGINT |
| Decimal | 1234.56 | DECIMAL(p,s) |
| Float | 1.234e+10 | DOUBLE |
| Text | written as-is; padding depends on the chosen layout | VARCHAR(n) |
| Long text | written as-is | LONGTEXT |
| Date | whatever the writer chose | DATE |
| Datetime | whatever the writer chose | DATETIME |
| Binary | not representable | LONGBLOB |
| Boolean | Y / N, or 1 / 0, or TRUE / FALSE | TINYINT(1) |
| JSON | written as-is | JSON |
Dialect differences
TXT 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 TXT | in MySQL |
|---|---|---|
| port | — | 3306 |
| identifiers | None by convention | `backtick` |
| row limit | — | LIMIT n |
| dates | Whatever the writer produced; no convention is guaranteed | DATETIME, TIMESTAMP, DATE, TIME |
| long text | — | TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT |
| binary | Not supported | BLOB / TINYBLOB / LONGBLOB |
| separator | Whatever was chosen - often fixed column widths | — |
| encoding | No declaration - UTF-8 works only with a BOM | — |
| typing | None - every field is text | — |
| shape | Free form; a parser has to be told the layout | Tables of rows and columns |
| ceiling | No formal limit | — |
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.
