GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SQL2CSV(1) csvkit SQL2CSV(1)

sql2csv - sql2csv Documentation

Executes arbitrary commands against a SQL database and outputs the results as a CSV:

usage: sql2csv [-h] [-v] [-l] [-V] [--db CONNECTION_STRING] [--query QUERY]

[-e ENCODING] [-H]
[FILE] Execute a SQL query on a database and output the result to a CSV file. positional arguments:
FILE The file to use as the SQL query. If FILE and --query
are omitted, the query is piped data via STDIN. optional arguments:
-h, --help show this help message and exit
--db CONNECTION_STRING
A SQLAlchemy connection string to connect to a
database.
--engine-option ENGINE_OPTION ENGINE_OPTION
A keyword argument to SQLAlchemy's create_engine(), as
a space-separated pair. This option can be specified
multiple times. For example: thick_mode True
--execution-option EXECUTION_OPTION EXECUTION_OPTION
A keyword argument to SQLAlchemy's
execution_options(), as a space-separated pair. This
option can be specified multiple times. For example:
stream_results True
--query QUERY The SQL query to execute. Overrides FILE and STDIN.
-e ENCODING, --encoding ENCODING
Specify the encoding of the input query file.
-H, --no-header-row Do not output column names.


Load sample data into a table using csvsql and then query it using sql2csv:

csvsql --db "sqlite:///dummy.db" --tables "test" --insert examples/dummy.csv
sql2csv --db "sqlite:///dummy.db" --query "select * from test"


Load data about financial aid recipients into PostgreSQL. Then find the three states that received the most, while also filtering out empty rows:

createdb recipients
csvsql --db "postgresql:///recipients" --tables "fy09" --insert examples/realdata/FY09_EDU_Recipients_by_State.csv
sql2csv --db "postgresql:///recipients" --query "select * from fy09 where \"State Name\" != '' order by fy09.\"TOTAL\" limit 3"


You can even use it as a simple SQL calculator (in this example an in-memory SQLite database is used as the default):

sql2csv --query "select 300 * 47 % 14 * 27 + 7000"


The connection string accepts parameters. For example, to set the encoding of a MySQL database:

sql2csv --db 'mysql://user:pass@host/database?charset=utf8' --query "SELECT myfield FROM mytable"


Christopher Groskopf and contributors

2016, Christopher Groskopf and James McKinney

August 16, 2024 2.1.0

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.