Spec-Zone.ru › Nushell

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API