---
name: "ase-db"
section: "1"
platform: "linux"
package: "python-ase"
version: "3.12.0-2"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/ase-db"
---

# ase-db(1)

Put stuff into or query database

## NAME

ase-db - Put stuff into or query database

## SYNOPSIS

**ase-db** *db-name* \[*selection*\] \[*options*\]

## DESCRIPTION

Selecton is a comma-separated list of selections where each selection is of the type "ID", "key" or "key=value".  Instead of "=", one can also use "\<", "\<=", "\>=", "\>" and  "!=" (these must be protected from the shell by using quotes). Special keys: id, user, calculator, age, natoms, energy, magmom, and charge.  Chemical symbols can also be used to select number of specific atomic species (H, He, Li, ...).

## OPTIONS

- **-h**, **--help**

  show this help message and exit

**-v**, **--verbose**

**-q**, **--quiet**

- **-n**, **--count**

  Count number of selected rows.

- **-l**, **--long**

  Long description of selected row

- **-i** db-name, **--insert-into**=*db-name*

  Insert selected rows into another database.

- **-a** \[type:\]filename, **--add-from-file**=*\[type*:\]filename

  Add results from file.

- **-k** key1=val1,key2=val2,..., **--add-key-value-pairs**=*key1=val1*,key2=val2,...

  Add key-value pairs to selected rows.  Values must be numbers or strings and keys must follow the same rules as keywords.

- **-L** N, **--limit**=*N*

  Show only first N rows (default is 20 rows).  Use **--limit**=*0* to show all.

- **--offset**=*N*

  Skip first N rows.  By default, no rows are skipped

- **--delete**

  Delete selected rows.

- **--delete-keys**=*key1*,key2,...

  Delete keys for selected rows.

- **-y**, **--yes**

  Say yes.

- **--explain**

  Explain query plan.

- **-c** col1,col2,..., **--columns**=*col1*,col2,...

  Specify columns to show.  Precede the column specification with a "+" in order to add columns to the default set of columns.  Precede by a "-" to remove columns.  Use "++" for all.

- **-s** column, **--sort**=*column*

  Sort rows using column.  Use **-column** for a descendin sort.  Default is to sort after id.

- **--cut**=*CUT*

  Cut keywords and key-value columns after CUT characters.  Use **--cut**=*0* to disable cutting. Default is 35 characters

- **-p** \[a,b:\]x,y1,y2,..., **--plot**=*\[a*,b:\]x,y1,y2,...

  Example: "-p x,y": plot y row against x row. Use "-p a:x,y" to make a plot for each value of a.

- **-P** name, **--plot-data**=*name*

  Show plot from data\['name'\] from the selected row.

- **--csv**

  Write comma-separated-values file.

- **-w**, **--open-web-browser**

  Open results in web-browser.

- **--no-lock-file**

  Don't use lock-files

- **--analyse**

  Gathers statistics about tables and indices to help make better query planning choices.

- **-j**, **--json**

  Write json representation of selected row.

- **--unique**

  Give rows a new unique id when using **--insert-into**.

Selection examples: calculator=nwchem, age\<1d, natoms=1, user=alice, 2.2\<bandgap\<4.1, Cu\>=10.
