db.describe
Describes a table in detail.
db.describe [-c] table=name [driver=name] [database=name] format=name [--verbose] [--quiet] [--qq] [--ui]
Example:
db.describe table=name format=plain
grass.script.parse_command("db.describe", table, driver="sqlite", database="$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db", format="plain", flags=None, verbose=False, quiet=False, superquiet=False)
Example:
gs.parse_command("db.describe", table="name", format="json")
Parameters
table=name [required]
Name of attribute table
driver=name
Name of database driver
Allowed values: dbf, ogr, sqlite
Default: sqlite
database=name
Name of database
Default: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
format=name [required]
Output format
Allowed values: plain, json
Default: plain
plain: Plain text output
json: JSON (JavaScript Object Notation)
-c
Print column names only instead of full column descriptions
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
table : str, required
Name of attribute table
Used as: input, dbtable, name
driver : str, optional
Name of database driver
Used as: input, dbdriver, name
Allowed values: dbf, ogr, sqlite
Default: sqlite
database : str, optional
Name of database
Used as: input, dbname, name
Default: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
format : str, required
Output format
Used as: name
Allowed values: plain, json
plain: Plain text output
json: JSON (JavaScript Object Notation)
Default: plain
flags : str, optional
Allowed values: c
c
Print column names only instead of full column descriptions
verbose: bool, optional
Verbose module output
Default: False
quiet: bool, optional
Quiet module output
Default: False
superquiet: bool, optional
Very quiet module output
Default: False
DESCRIPTION
db.describe displays table information. If parameter -c is used only column names instead of full column descriptions is given.
NOTE
If parameters for database connection are already set with db.connect, they are taken as default values and do not need to be specified each time.
EXAMPLES
List column descriptions of table in SQLite database (note that this is the default setting)
db.describe driver=sqlite table=hospitals \
database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db'
# or simply
db.describe myarchsites
DBF example
db.describe -c table=hospitals database='$GISDBASE/$LOCATION_NAME/PERMANENT/dbf/' \
driver=dbf
ncols: 16
nrows: 160
Column 1: cat:INTEGER:11
Column 2: OBJECTID:INTEGER:11
Column 3: AREA:DOUBLE PRECISION:20
[...]
db.describe table=hospitals database='$GISDBASE/$LOCATION_NAME/PERMANENT/dbf/' \
driver=dbf
table:hospitals
description:
insert:yes
delete:yes
ncols:16
nrows:160
column:cat
description:
type:INTEGER
len:11
scale:0
precision:10
default:
nullok:yes
select:yes
update:yes
column:OBJECTID
description:
type:INTEGER
[...]
JSON Output
db.describe table=hospitals format=json
{
"table": "hospitals",
"description": "",
"insert": null,
"delete": null,
"ncols": 16,
"nrows": 160,
"columns": [
{
"position": 1,
"column": "cat",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 2,
"column": "OBJECTID",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 3,
"column": "AREA",
"description": "",
"type": "DOUBLE PRECISION",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 4,
"column": "PERIMETER",
"description": "",
"type": "DOUBLE PRECISION",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 5,
"column": "HLS_",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 6,
"column": "HLS_ID",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 7,
"column": "NAME",
"description": "",
"type": "CHARACTER",
"length": 45,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 8,
"column": "ADDRESS",
"description": "",
"type": "CHARACTER",
"length": 35,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 9,
"column": "CITY",
"description": "",
"type": "CHARACTER",
"length": 16,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 10,
"column": "ZIP",
"description": "",
"type": "CHARACTER",
"length": 5,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 11,
"column": "COUNTY",
"description": "",
"type": "CHARACTER",
"length": 12,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 12,
"column": "PHONE",
"description": "",
"type": "CHARACTER",
"length": 14,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 13,
"column": "CANCER",
"description": "",
"type": "CHARACTER",
"length": 4,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 14,
"column": "POLYGONID",
"description": "",
"type": "INTEGER",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 15,
"column": "SCALE",
"description": "",
"type": "DOUBLE PRECISION",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
},
{
"position": 16,
"column": "ANGLE",
"description": "",
"type": "DOUBLE PRECISION",
"length": 20,
"scale": 0,
"precision": 0,
"default": null,
"nullok": true,
"select": null,
"update": null
}
]
}
SEE ALSO
db.columns, db.droptable, db.execute, db.login, db.tables, GRASS SQL interface
AUTHOR
Radim Blazek, ITC-Irst, Trento, Italy
SOURCE CODE
Available at: db.describe source code
(history)
Latest change: Saturday Mar 01 15:13:00 2025 in commit 45f0c94