Using the REPL
Execute a query. To execute a query in the REPL, terminate the statement with a semicolon and press “ENTER”.
1. db>
1. select 5;
1. {5}
Alternatively, you can run the query without a semicolon by hitting Alt-Enter on Windows/Linux, or Esc+Return on macOS.
1. db>
1. select 5
1. {5}
Type Alt-Enter to run the query without having the cursor to the end of the query.
This doesn’t work by default on macOS, however it’s possible to enable it with a quick fix.
- in Terminal.app: Settings → Profiles → Keyboard → Check “Use Option as Meta key”
- in iTerm: Settings → Profiles → Keys → Let Option key: ESC+
Alternatively you can use the esc+return shortcut.
Use query parameters. If your query contains a parameter, you will be prompted for a value.
1. db>
1. select 5 + <int64>$num;
1. Parameter <int64>$num: 6
2. {11}
Commands
| Options | -v = verbose -s = show system objects -I = case-sensitive match |
\d [-v] NAME |
Describe a schema object. |
\ds, \describe schema |
Describe the entire schema. |
\list databases alias: \l |
List databases. |
\list scalars [-sI] [pattern] alias: \ls |
List scalar types. |
\list types [-sI] [pattern] alias: \lt |
List object types. |
\list roles [-I] alias: \lr |
List roles. |
\list modules [-I] alias: \lm |
List modules. |
\list aliases [-Isv] [pattern] alias: \la |
List expression aliases. |
\list casts [-I] [pattern] alias: \lc |
List casts. |
\list indexes [-Isv] [pattern] alias: \li |
List indexes. |
\dump <filename> |
Dump the current database to file. |
\restore <filename> |
Restore the database from a dump file. |
\s, \history |
Show query history |
\e, \edit [N] |
Spawn $EDITOR to edit history entry N. Then use the output as the input. |
\set [<option> [<value>]] |
View/change a setting. Type \set to see all available settings. |
\c, \connect [<dbname>] |
Connect to a particular database. |
Sample usage
List databases:
1. db>
1. \ls
1. List of databases:
2. db
3. tutorial
Connect to a database:
1. db>
1. \c my_new_project
1. my_new_project>
Describe an object type:
1. db>
1. \d object Object
1. abstract type std::Object extending std::BaseObject {
2. required single link __type__ -> schema::Type {
3. readonly := true;
4. };
5. required single property id -> std::uuid {
6. readonly := true;
7. };
8. };
Describe a scalar type:
1. db>
1. \d object decimal
1. scalar type std::decimal extending std::anynumeric;
Describe a function:
1. db>
1. \d object sum
1. function std::sum(s: set of std::bigint) -> std::bigint {
2. volatility := 'Immutable';
3. annotation std::description := 'Return the sum of the set of numbers.';
4. using sql function 'sum'
5. ;};
6. function std::sum(s: set of std::int32) -> std::int64 {
7. volatility := 'Immutable';
8. annotation std::description := 'Return the sum of the set of numbers.';
9. using sql function 'sum'
10. ;};
11. function std::sum(s: set of std::decimal) -> std::decimal {
12. volatility := 'Immutable';
13. annotation std::description := 'Return the sum of the set of numbers.';
14. using sql function 'sum'
15. ;};
16. function std::sum(s: set of std::float32) -> std::float32 {
17. volatility := 'Immutable';
18. annotation std::description := 'Return the sum of the set of numbers.';
19. using sql function 'sum'
20. ;};
21. function std::sum(s: set of std::int64) -> std::int64 {
22. volatility := 'Immutable';
23. annotation std::description := 'Return the sum of the set of numbers.';
24. using sql function 'sum'
25. ;};
26. function std::sum(s: set of std::float64) -> std::float64 {
27. volatility := 'Immutable';
28. annotation std::description := 'Return the sum of the set of numbers.';
29. using sql function 'sum'
30. ;};
