76 releases (17 breaking)

new 0.18.0 May 17, 2024
0.17.1 Apr 26, 2024
0.16.0 Mar 25, 2024
0.12.1 Dec 26, 2023
0.5.0 Jul 28, 2023

#725 in Database interfaces

Download history 12/week @ 2024-01-25 23/week @ 2024-02-01 128/week @ 2024-02-15 112/week @ 2024-02-22 161/week @ 2024-02-29 142/week @ 2024-03-07 67/week @ 2024-03-14 268/week @ 2024-03-21 50/week @ 2024-03-28 111/week @ 2024-04-04 413/week @ 2024-04-11 46/week @ 2024-04-18 141/week @ 2024-04-25 157/week @ 2024-05-02 192/week @ 2024-05-09

657 downloads per month

Apache-2.0

225KB
5.5K SLoC

BendSQL

Databend Native Command Line Tool

crates.io License

Install

cargo install bendsql

Usage

❯ bendsql --help
Databend Native Command Line Tool

Usage: bendsql [OPTIONS]

Options:
      --help                 Print help information
      --flight               Using flight sql protocol
      --tls                  Enable TLS
  -h, --host <HOST>          Databend Server host, Default: 127.0.0.1
  -P, --port <PORT>          Databend Server port, Default: 8000
  -u, --user <USER>          Default: root
  -p, --password <PASSWORD>  [env: BENDSQL_PASSWORD=]
  -D, --database <DATABASE>  Database name
      --set <SET>            Settings
      --dsn <DSN>            Data source name [env: BENDSQL_DSN=]
  -n, --non-interactive      Force non-interactive mode
  -q, --query <QUERY>        Query to execute
  -d, --data <DATA>          Data to load, @file or @- for stdin
  -f, --format <FORMAT>      Data format to load [default: csv]
  -o, --output <OUTPUT>      Output format [default: table]
      --progress             Show progress for data loading in stderr
  -V, --version              Print version

REPL

❯ bendsql
Welcome to BendSQL.
Connecting to localhost:8000 as user root.

bendsql> select avg(number) from numbers(10);

SELECT
  avg(number)
FROM
  numbers(10);

┌───────────────────┐
│    avg(number)    │
│ Nullable(Float64) │
├───────────────────┤
│ 4.5               │
└───────────────────┘

1 row in 0.259 sec. Processed 10 rows, 10B (38.59 rows/s, 308B/s)

bendsql> show tables like 'd%';

SHOW TABLES LIKE 'd%';

┌───────────────────┐
│ tables_in_default │
│       String      │
├───────────────────┤
│ data              │
│ data2             │
│ data3             │
│ data4             │
└───────────────────┘

4 rows in 0.106 sec. Processed 0 rows, 0B (0 rows/s, 0B/s)

bendsql> exit
Bye

StdIn Pipe

 echo "select number from numbers(3)" | bendsql -h localhost --port 8900 --flight
0
1
2

Put local files into stage

create stage s_temp;
put fs:///tmp/a*.txt @s_temp/abc;

Features

  • basic keywords highlight
  • basic auto-completion
  • select query support
  • TBD

Dependencies

~44–61MB
~1M SLoC