query db для баз данных
Выполняет запрос к базе данных SQLite с помощью операторов SQL.
Сигнатура
> query db {flags} (SQL)
Флаги
-
--params, -p {any}: список параметров оператора SQL
Параметры
-
SQL: SQL-запрос для выполнения в базе данных.
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| любые | любые |
Примеры
Выполнить SQL-запрос к базе данных SQLite.
> open foo.db | query db "SELECT * FROM Bar"
Выполнить оператор SQL с параметрами.
> stor create -t my_table -c { first: str, second: int }
stor open | query db "INSERT INTO my_table VALUES (?, ?)" -p [hello 123]Выполнить оператор SQL с именованными параметрами.
> stor create -t my_table -c { first: str, second: int }
stor insert -t my_table -d { first: 'hello', second: '123' }
stor open | query db "SELECT * FROM my_table WHERE second = :search_second" -p { search_second: 123 }
╭───┬───────┬────────╮
│ # │ first │ second │
├───┼───────┼────────┤
│ 0 │ hello │ 123 │
╰───┴───────┴────────╯Выполнить SQL-запрос с выборкой объявленного столбца JSON(B), который будет автоматически обработан.
> stor create -t my_table -c {data: jsonb}
[{data: {name: Albert, age: 40}} {data: {name: Barnaby, age: 54}}] | stor insert -t my_table
stor open | query db "SELECT data FROM my_table WHERE data->>'age' < 45"
╭───┬───────────────────╮
│ # │ data │
├───┼───────────────────┤
│ 0 │ ╭──────┬────────╮ │
│ │ │ name │ Albert │ │
│ │ │ age │ 40 │ │
│ │ ╰──────┴────────╯ │
╰───┴───────────────────╯
Выполнить SQL-запрос с выборкой подполе столбца JSON(B). В этом случае результаты необходимо обработать после выполнения запроса, поскольку SQLite не возвращает типы объявлений, если столбец JSON(B) не выбирается напрямую
> stor create -t my_table -c {data: jsonb}
stor insert -t my_table -d {data: {foo: foo, bar: 12, baz: [0 1 2]}}
stor open | query db "SELECT data->'baz' AS baz FROM my_table" | update baz {from json}
╭───┬───────────╮
│ # │ baz │
├───┼───────────┤
│ 0 │ ╭───┬───╮ │
│ │ │ 0 │ 0 │ │
│ │ │ 1 │ 1 │ │
│ │ │ 2 │ 2 │ │
│ │ ╰───┴───╯ │
╰───┴───────────╯
Примечания
Эта команда поддерживается только для локальных баз данных SQLite или баз данных в памяти.
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/query_db.html