A terminal utility to easily run SQL queries on CSV files. zsql is shipped as a small single binary powered by rust and C.
# Select lines from csv
zsql "SELECT * from ./path/to/oscar_age.csv WHERE Year > 2015"> selection.csv
# Select specific columns from csv
zsql "SELECT Age, Name from './name with spaces.csv'"| more
# Join files
zsql "SELECT O.OrderID, C.CustomerName, O.OrderDateFROM orders.csv AS OINNER JOIN customers.csv AS C ON O.CustomerID=C.CustomerID"# Choose separator
zsql -s "|""SELECT Name, Age from ./separated_by_pipe.csv"# Runs on windows 🟦
zsql.exe "SELECT COUNT(*) FROM .\file_on_windows.csv"Runs SQL queries on csv files Example: zsql "SELECT * from 'my csv file.csv'"USAGE:
zsql [FLAGS] [OPTIONS] <QUERY>ARGS:
<QUERY> SQL query to be executed.FLAGS:
-h, --help Print help information
-v, --verbose A level of verbosity. Can be used multiple times: -v -vv -vvv-V, --version Print version informationOPTIONS:
-s <SEPARATOR> Set csv the separator character to be used [default: ,]Please check out the Release page for prebuilt versions of zsql for linux, mac and windows.
To build zsql from source you need Rust 1.55 or higher.
make install