Query Commands
Execute SQL queries using Trino.
Basic Usage
bash
tdx query [options] [sql]Options
| Option | Description | Default |
|---|---|---|
-f, --file <path> | Read SQL from file | - |
-d, --database <db> | Database to query | information_schema |
--in <db> | Alias for --database | - |
--catalog <catalog> | Trino catalog | td |
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 mydbFile 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.jsonMulti-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.sqlExample 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.jsonMulti-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 │
└─────────────┘