Skip to content

Query Commands

Execute SQL queries using Trino.

Basic Usage

bash
tdx query [options] [sql]

Options

OptionDescriptionDefault
-f, --file <path>Read SQL from file-
-d, --database <db>Database to queryinformation_schema
--in <db>Alias for --database-
--catalog <catalog>Trino catalogtd

Examples

Inline Query

bash
# Simple query
tdx query "SELECT * FROM mydb.users LIMIT 10"

# With database flag
tdx query "SELECT * FROM users" --in mydb
tdx query "SELECT * FROM users" --database mydb
tdx query "SELECT * FROM users" -d mydb

File Input

Read SQL from file:

bash
# Execute SQL from file
tdx query --file query.sql
tdx query -f query.sql

# With options
tdx query -f query.sql --database mydb --json --output results.json

Multi-Statement Execution

Execute multiple SQL statements sequentially:

bash
# From command line
tdx query "SELECT COUNT(*) FROM users; SELECT COUNT(*) FROM orders"

# From file
tdx query -f setup-and-query.sql

Example multi-statement file (setup-and-query.sql):

sql
CREATE TABLE temp_users AS SELECT * FROM users WHERE active = true;
CREATE TABLE temp_orders AS SELECT * FROM orders WHERE user_id IN (SELECT id FROM temp_users);
SELECT COUNT(*) as order_count FROM temp_orders;

Output behavior:

  • Each statement executes sequentially with progress indication
  • Console output: All results displayed as they complete
  • File output (--output): All results appended to single file
  • Fail-fast: Execution stops on first error

Output Formats

bash
# Table format (default)
tdx query "SELECT * FROM users LIMIT 5"

# JSON format
tdx query "SELECT * FROM users" --json

# JSON Lines format
tdx query "SELECT * FROM users" --jsonl

# TSV format
tdx query "SELECT * FROM users" --tsv

# Save to file
tdx query "SELECT * FROM users" --output results.json

Multi-Statement Output Example

✔ Statement 1/3 - Query completed: Processed 1,000 rows in 2.3s
┌────────────┐
│ user_count │
├────────────┤
│ 1000       │
└────────────┘
✔ Statement 2/3 - Query completed: Processed 5,000 rows in 3.1s
┌─────────────┐
│ order_count │
├─────────────┤
│ 5000        │
└─────────────┘