Metadata-Version: 1.1
Name: sql2csv
Version: 1.3
Summary: Run MySQL and PostgreSQL queries and store result in CSV
Home-page: https://github.com/gabfl/sql2csv
Author: Gabriel Bordeaux
Author-email: pypi@gab.lc
License: MIT
Description: sql2csv
        =======
        
        |Pypi| |Build Status| |codecov| |MIT licensed|
        
        Run MySQL and PostgreSQL queries and store the results in CSV.
        
        Why sql2csv
        -----------
        
        ``sql2csv`` is a small utility to run MySQL and PostgreSQL queries and
        store the output in a CSV file.
        
        In some environments like when using MySQL or Aurora in AWS RDS,
        exporting queries’ results to CSV is not available with native tools.
        ``sql2csv`` is a simple module that offers this feature.
        
        Installation
        ------------
        
        .. code:: bash
        
           pip3 install sql2csv
        
           # Basic usage
           mysql [...] -e "SELECT * FROM table" | sql2csv
           # or
           psql [...] -c "SELECT * FROM table" | sql2csv
        
        Example
        -------
        
        From stdin
        ~~~~~~~~~~
        
        For simple queries you can pipe a result directly from ``mysql`` or
        ``psql`` to ``sql2csv``.
        
        For more complex queries, it is recommended to use the CLI (see below)
        to ensure a properly formatted CSV.
        
        .. code:: bash
        
           mysql -U root -p"secret" my_db -e "SELECT * FROM some_mysql_table;" | sql2csv
        
           id,some_int,some_str,some_date
           1,12,hello world,2018-12-01 12:23:12
           2,15,hello,2018-12-05 12:18:12
           3,18,world,2018-12-08 12:17:12
        
        .. code:: bash
        
           psql -U postgres my_db -c "SELECT * FROM some_pg_table" | sql2csv
        
           id,some_int,some_str,some_date
           1,12,hello world,2018-12-01 12:23:12
           2,15,hello,2018-12-05 12:18:12
           3,18,world,2018-12-08 12:17:12
        
        Using ``sql2csv`` CLI
        ~~~~~~~~~~~~~~~~~~~~~
        
        Output to stdout
        ^^^^^^^^^^^^^^^^
        
        .. code:: bash
        
           $ sql2csv --engine mysql \
             --database my_db --user root --password "secret" \
             --query "SELECT * FROM some_mysql_table"
        
           1,12,hello world,2018-12-01 12:23:12
           2,15,hello,2018-12-05 12:18:12
           3,18,world,2018-12-08 12:17:12
        
        Output saved in a file
        ^^^^^^^^^^^^^^^^^^^^^^
        
        .. code:: bash
        
           $ sql2csv --engine mysql \
             --database my_db --user root --password "secret" \
             --query "SELECT * FROM some_mysql_table" \
             --headers \
             --out file --destination_file export.csv
        
           # * Exporting rows...
           #   ...done
           # * The result has been exported to export.csv.
        
           $ cat export.csv 
           id,some_int,some_str,some_date
           1,12,hello world,2018-12-01 12:23:12
           2,15,hello,2018-12-05 12:18:12
           3,18,world,2018-12-08 12:17:12
        
        Usage
        -----
        
        .. code:: bash
        
           usage: sql2csv [-h] [-e {mysql,postgresql}] [-H HOST] [-P PORT] -u USER
                          [-p PASSWORD] -d DATABASE -q QUERY [-o {stdout,file}]
                          [-f DESTINATION_FILE] [-D DELIMITER] [-Q QUOTECHAR] [-t]
        
           optional arguments:
             -h, --help            show this help message and exit
             -e {mysql,postgresql}, --engine {mysql,postgresql}
                                   Database engine
             -H HOST, --host HOST  Database host
             -P PORT, --port PORT  Database port
             -u USER, --user USER  Database user
             -p PASSWORD, --password PASSWORD
                                   Database password
             -d DATABASE, --database DATABASE
                                   Database name
             -q QUERY, --query QUERY
                                   SQL query
             -o {stdout,file}, --out {stdout,file}
                                   CSV destination
             -f DESTINATION_FILE, --destination_file DESTINATION_FILE
                                   CSV destination file
             -D DELIMITER, --delimiter DELIMITER
                                   CSV delimiter
             -Q QUOTECHAR, --quotechar QUOTECHAR
                                   CSV quote character
             -t, --headers         Include headers
        
        .. |Pypi| image:: https://img.shields.io/pypi/v/sql2csv.svg
           :target: https://pypi.org/project/sql2csv
        .. |Build Status| image:: https://travis-ci.org/gabfl/sql2csv.svg?branch=master
           :target: https://travis-ci.org/gabfl/sql2csv
        .. |codecov| image:: https://codecov.io/gh/gabfl/sql2csv/branch/master/graph/badge.svg
           :target: https://codecov.io/gh/gabfl/sql2csv
        .. |MIT licensed| image:: https://img.shields.io/badge/license-MIT-green.svg
           :target: https://raw.githubusercontent.com/gabfl/sql2csv/master/LICENSE
        
Platform: UNKNOWN
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
