MySQL to CSV
Latest version 1.3 released 02/18/2022
MySQL to CSV converter is a free program to export MySQL, MariaDB or Percona databases into comma separated values (CSV) files. The program has high performance due to low-level connection to MySQL databases and direct writing into CSV files. MySQL to CSV converter does not use ODBC or any other middleware. Command line support allows to script, automate and schedule the conversion process.
Features of MySQL to CSV Converter
To perform batch conversion or call the conversion procedure from an automation script you can use console version of MySQL to CSV converter. This is file S2CAGENT.EXE in the installation folder. You can either run this tool directly from command line or call it from any script as well. S2CAGENT.EXE supports the following command-line options:
|--dest=...||path to the folder with .csv files|
|--help||display help message and exit|
|--host=...||MySQL server IP address or network name|
|--inc_fnames||include MySQL field names into CSV files|
|--logfile=...||path to the logfile where execution traces will be written|
|--mode=...||how to process an existing CSV folder (0 - overwrite the entire folder, 1 - overwrite existing files only, 2 - skip existing files)|
|--n_delim=...||delimiter symbol to use in the resultinig CSV file (0 - tab, 1 - semicolon, 2 - comma)|
|--profile=...||path to the file to load conversion settings from|
|--pswd=...||MySQL user password|
|--silent||use this option to disable program output|
|--src=...||MySQL database name|
|--tab_file=...||file containing the list of tables to convert
(one table name per line)
|--user=...||MySQL user name|
In the following example the program converts MySQL database "db1" on the remote MySQL server "mysqlhost" into .csv files in folder "c:\from mysql" using table names file "c:\tabfile1.txt":
S2CAGENT.EXE --src=db1 --dest="c:\from mysql" --host=mysqlhost --user=administrator --pswd=the_passsword --tab_file=c:\tabfile1.txt
Table names file should be formatted as follows:
Queries give the ability to get part of data for converting into .csv format. The following examples illustrate using queries for particular purposes. Assume there is table "Table1" defined as below:
Table1( ID INT NOT NULL AUTO_INCREMENT, FName VARCHAR(50), LName VARCHAR(50), Birthday DATE, Notes TEXT );
Example 1. Convert certain records.
SELECT * FROM Table1 WHERE ID > 1000
Example 2. Choose and rename columns.
SELECT FName as FirstName, LName as LastName FROM Table1
Example 3. Skip records containing NULL values.
SELECT * FROM Table1 WHERE Notes IS NOT NULL