97 releases (23 breaking)

new 0.24.4 Dec 10, 2024
0.23.2 Nov 26, 2024
0.19.5 Jul 23, 2024
0.16.0 Mar 25, 2024
0.5.0 Jul 28, 2023

#800 in Database interfaces

Download history 2/week @ 2024-09-12 195/week @ 2024-09-19 404/week @ 2024-09-26 13/week @ 2024-10-03 11/week @ 2024-10-10 159/week @ 2024-10-17 154/week @ 2024-10-24 51/week @ 2024-10-31 24/week @ 2024-11-07 6/week @ 2024-11-14 258/week @ 2024-11-21 227/week @ 2024-11-28 553/week @ 2024-12-05

1,044 downloads per month

Apache-2.0

2MB
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

~79MB
~1.5M SLoC