sqlite-utils rows --where and -p options, closes #382

This commit is contained in:
Simon Willison 2022-01-11 15:32:43 -08:00
commit 3b632f0a7e
4 changed files with 57 additions and 18 deletions

View file

@ -584,24 +584,26 @@ See :ref:`cli_rows`.
Output all rows in the specified table
Options:
-c, --column TEXT Columns to return
--limit INTEGER Number of rows to return - defaults to everything
--offset INTEGER SQL offset to use
--nl Output newline-delimited JSON
--arrays Output rows as arrays instead of objects
--csv Output CSV
--tsv Output TSV
--no-headers Omit CSV headers
-t, --table Output as a table
--fmt TEXT Table format - one of fancy_grid, fancy_outline,
github, grid, html, jira, latex, latex_booktabs,
latex_longtable, latex_raw, mediawiki, moinmoin,
orgtbl, pipe, plain, presto, pretty, psql, rst, simple,
textile, tsv, unsafehtml, youtrack
--json-cols Detect JSON cols and output them as JSON, not escaped
strings
--load-extension TEXT SQLite extensions to load
-h, --help Show this message and exit.
-c, --column TEXT Columns to return
--where TEXT Optional where clause
-p, --param <TEXT TEXT>... Named :parameters for where clause
--limit INTEGER Number of rows to return - defaults to everything
--offset INTEGER SQL offset to use
--nl Output newline-delimited JSON
--arrays Output rows as arrays instead of objects
--csv Output CSV
--tsv Output TSV
--no-headers Omit CSV headers
-t, --table Output as a table
--fmt TEXT Table format - one of fancy_grid, fancy_outline,
github, grid, html, jira, latex, latex_booktabs,
latex_longtable, latex_raw, mediawiki, moinmoin,
orgtbl, pipe, plain, presto, pretty, psql, rst,
simple, textile, tsv, unsafehtml, youtrack
--json-cols Detect JSON cols and output them as JSON, not
escaped strings
--load-extension TEXT SQLite extensions to load
-h, --help Show this message and exit.
triggers

View file

@ -449,6 +449,16 @@ You can use the ``-c`` option to specify a subset of columns to return::
[{"age": 4, "name": "Cleo"},
{"age": 2, "name": "Pancakes"}]
You can filter rows using a where clause with the ``--where`` option::
$ sqlite-utils rows dogs.db dogs -c name --where 'name = "Cleo"'
[{"name": "Cleo"}]
Or pass named parameters using ``--where`` in combination with ``-p``::
$ sqlite-utils rows dogs.db dogs -c name --where 'name = :name' -p name Cleo
[{"name": "Cleo"}]
Use ``--limit N`` to only return the first ``N`` rows. Use ``--offset N`` to return rows starting from the specified offset.
.. _cli_tables: