MySQL to CSV
Latest version 1.0 released 06/03/2013
MySQL-to-CSV is a free program to convert MySQL databases into comma separated values (CSV) files. The program has high performance due to direct connection to source databases and writing into .csv files (it does not use ODBC or any other middleware software). Command line support allows to script, automate and schedule the conversion process.
To perform batch conversion or call the conversion procedure from an automation script you can use console version of MySQL-to-CSV S2CAGENT.EXE. Find this file in MySQL-to-CSV installation folder. You can either run this tool directly from command line or call it from any script as well. The program 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 you the ability to extract partial data for converting into .csv format. The following examples are provided to illustrate how to use queries for particular purposes. Assume that we have table "Table1" 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