0
0
mirror of https://github.com/tursodatabase/libsql.git synced 2025-06-07 09:11:49 +00:00
Files
.cargo
.config
.github
bindings
bottomless
bottomless-cli
docker-compose
docs
libsql
libsql-ffi
libsql-hrana
libsql-replication
libsql-server
libsql-shell
src
Cargo.toml
README.md
libsql-sqlite3
libsql-storage
libsql-storage-server
libsql-sys
libsql-wal
tools
vendored
xtask
.dockerignore
.env
.gitignore
.gitmodules
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Cargo.lock
Cargo.toml
Dockerfile
Dockerfile.dev
Dockerfile.musl
LICENSE.md
README-libsql.md
README.md
docker-entrypoint.sh
docker-wrapper.sh
fly.toml
rust-toolchain.toml
libsql/libsql-shell/README.md
2023-10-16 15:25:18 +02:00

34 lines
1.3 KiB
Markdown

# libSQL shell
This project contains [libSQL](https://libsql.org)'s new shell,
implemented in Rust on top of a few industry standard crates: `rusqlite`, `rustyline`, `clap`, `tracing`, etc.
The long-term goal of this project is to:
- Match all features of the original libSQL shell (inherited from SQLite and implemented in C),
- Add new features on top, for instance:
- importing and exporting additional formats (Parquet and friends);
- accessing network resources.
- Make contributions to libSQL as easy as possible.
## Status
This project is still in early development phase, so expect missing items!
## Example
```
$ ./libsql
libSQL version 0.2.0
Connected to a transient in-memory database.
libsql> create table test(id, v);
libsql> insert into test values(42, zeroblob(12));
libsql> insert into test values(3.14, 'hello');
libsql> insert into test values(null, null);
libsql> select id, v, length(v), hex(v) from test;
id | v | length(v) | hex(v)
------+--------------------+-----------+--------------------------
42 | 0xAAAAAAAAAAAAAAAA | 12 | 000000000000000000000000
3.14 | hello | 5 | 68656C6C6F
null | null | null |
libsql>
```