First Query

The following examples show how to run a simple query using the rsql CLI tool for different data sources. Replace placeholders (e.g., <user>, <host>, <database>) with your actual connection details.

CockroachDB

rsql --url "cockroachdb://<user[:password]>@<host>[:<port>]/<database>" -- "SELECT version();"

DuckDB (in-memory or file)

# In-memory
rsql --url "duckdb://" -- "SELECT version();"
# File-based
rsql --url "duckdb:///path/to/file.duckdb" -- "SELECT COUNT(*) FROM my_table;"

LibSQL (in-memory)

rsql --url "libsql://?memory=true" -- "SELECT sqlite_version();"

MariaDB

rsql --url "mariadb://<user>[:<password>]@<host>[:<port>]/<database>" -- "SELECT version();"

MySQL

rsql --url "mysql://<user>[:<password>]@<host>[:<port>]/<database>" -- "SELECT version();"

Postgres (embedded or remote)

rsql --url "postgres://?embedded=true" -- "SELECT version();"
rsql --url "postgres://<user>:<password>@<host>:<port>/<database>" -- "SELECT COUNT(*) FROM my_table;"

PostgreSQL (embedded or remote)

rsql --url "postgresql://?embedded=true" -- "SELECT version();"
rsql --url "postgresql://<user>:<password>@<host>:<port>/<database>" -- "SELECT COUNT(*) FROM my_table;"

Redshift

rsql --url "redshift://<user[:password]>@<host>[:<port>]/<database>" -- "SELECT version();"

Rusqlite

rsql --url "rusqlite://" -- "SELECT sqlite_version();"

Snowflake

rsql --url "snowflake://<user>@<account>.snowflakecomputing.com/[?private_key_file=pkey_file&public_key_file=pubkey_file]" -- "SELECT CURRENT_VERSION();"
# Or with token
rsql --url "snowflake://<user>[:<token>]@<account>.snowflakecomputing.com/" -- "SELECT CURRENT_VERSION();"

Querying Data Files (CSV, Parquet, etc.)

rsql --url "csv:///path/to/data.csv" -- "SELECT * FROM data LIMIT 5;"
rsql --url "parquet:///path/to/data.parquet" -- "SELECT column1, column2 FROM data WHERE column3 > 100;"

Sqlite

rsql --url "sqlite://" -- "SELECT sqlite_version();"

Tips

  • Use the --format option or .format command to change output format (e.g., CSV, JSON).
  • Use .help for a list of available commands.
  • For more advanced examples, see the FAQ & Tips.