命令行工具:REPL

GreptimeDB 提供了一个简单的命令行工具 REPL (“Read-Evaluate-Print-Loop”),用来读取或写入数据。

当运行新的 cli 时,用户可以指定想连接的 GreptimeDB 服务器的 gRPC 地址:

shell

  1. cargo run -- cli attach --grpc-addr=0.0.0.0:4001

等待 REPL 的提示出现:

txt

  1. Ready for commands. (Hint: try 'help')
  2. >

用户可以输入 “help” 命令来查看一些有用的提示:

txt

  1. > help
  2. Available commands (case insensitive):
  3. - 'help': print this help
  4. - 'exit' or 'quit': exit the REPL
  5. - 'use <your database name>': switch to another database/schema context
  6. - Other typed-in texts will be treated as SQL statements.
  7. You can enter new lines while typing; remember to end it with ';'.

REPL 会根据用户的历史输入提供一些”提示” 。当一些提示弹出时,可以按下 “tab” 键来完成输入—这是一个由 RustyLine 提供的便捷功能。

想要快速熟悉 GreptimeDB ,可以尝试以下实例:

  • 创建或使用一个数据库(注意:数据库的名称应该与当前使用数据库的名称一致):

txt

  1. > create database foo;
  2. Affected Rows: 1
  3. Cost 21 ms
  4. > show databases;
  5. +---------+
  6. | Schemas |
  7. +---------+
  8. | foo |
  9. | public |
  10. +---------+
  11. Total Rows: 2
  12. Cost 8 ms
  13. > use foo;
  14. Total Rows: 0
  15. Cost 4 ms
  16. Using foo
  17. [foo] >
  • 创建一个表。 REPL 支持多行输入(输入的内容需以分号结束,使其成为有效的 SQL 语句):

txt

  1. [foo] > create table t(
  2. x STRING,
  3. ts TIMESTAMP TIME INDEX);
  4. Affected Rows: 0
  5. Cost 12 ms
  • 插入或选择数据:

txt

  1. [foo] > insert into t(x, ts) values('hello', 1);
  2. Affected Rows: 1
  3. Cost 5 ms
  4. [foo] > insert into t(x, ts) values('world', 2);
  5. Affected Rows: 1
  6. Cost 5 ms
  7. [foo] > select * from t;
  8. +-------+-------------------------+
  9. | x | ts |
  10. +-------+-------------------------+
  11. | hello | 1970-01-01T00:00:00.001 |
  12. | world | 1970-01-01T00:00:00.002 |
  13. +-------+-------------------------+
  14. Total Rows: 2
  15. Cost 17 ms