73 releases (16 breaking)

new 0.17.1 Apr 26, 2024
0.16.3 Apr 12, 2024
0.16.0 Mar 25, 2024
0.12.1 Dec 26, 2023
0.5.0 Jul 28, 2023

#689 in Database interfaces

Download history 13/week @ 2024-01-01 17/week @ 2024-01-08 18/week @ 2024-01-15 12/week @ 2024-01-22 23/week @ 2024-01-29 206/week @ 2024-02-19 179/week @ 2024-02-26 32/week @ 2024-03-04 183/week @ 2024-03-11 149/week @ 2024-03-18 147/week @ 2024-03-25 111/week @ 2024-04-01 318/week @ 2024-04-08 171/week @ 2024-04-15

753 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

~50–67MB
~1M SLoC