Want to import data from TSV file to MySQL via Command Line Interface (CLI) on Linux (Ubuntu/RedHat/CentOS…)?
Using my-cmd, a Command Line Interface (CLI) client for MySQL, you can import data from TSV 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.
Import data from TSV file to MySQL (MariaDB, Percona) via command line on Linux (Ubuntu/RedHat/CentOS…)
1. In interactive mode:
my-cmd> load loadtype=replace
> table=media_messages
> datafile=/data/media_messages.tsv
> 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.tsv 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
TSV → MySQL reference
Type mapping
| Value kind | in TSV | in MySQL |
|---|---|---|
| Int | 1234 | INT |
| Bigint | 9007199254740993 | BIGINT |
| Decimal | 1234.56 | DECIMAL(p,s) |
| Float | 1.234e+10 | DOUBLE |
| Text | unquoted; a tab in the value splits the column | VARCHAR(n) |
| Long text | unquoted; newlines break the row | LONGTEXT |
| Date | 2026-09-18 | DATE |
| Datetime | 2026-09-18 14:30:00 | DATETIME |
| Binary | not representable | LONGBLOB |
| Boolean | TRUE / FALSE | TINYINT(1) |
| JSON | the whole JSON value as-is (its own quotes stay) | JSON |
Dialect differences
TSV 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 TSV | in MySQL |
|---|---|---|
| port | — | 3306 |
| identifiers | Rarely used, which is exactly why tabs in data break it | `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 - must be encoded | BLOB / TINYBLOB / LONGBLOB |
| separator | Tab | — |
| 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 | — |
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.
New to the format? Read what a TSV file is (and how it differs from CSV).
